Capistrano部署正在编写.gnupg密钥,部署用户无法删除这些密钥

时间:2018-06-11 22:07:55

标签: ruby-on-rails capistrano

我们已经使用capistrano多年来部署,并且在去年我的公司在我们的服务器上实施了2FA(Duo)。从那时起,我们偶尔会 部署一个标记为失败的部署,因为它无法删除以前的版本。

  

SSHKit :: Runner :: ExecuteError:执行[me] @ [one   我们的服务器]:rm退出状态:1 rm stdout:   没有写rm stderr:rm:无法删除   ' /www/our-app/releases/20180525190451/.gnupg':权限被拒绝

我们的部署脚本提取新版本,更改符号链接,重新启动服务器,然后删除最早的版本。它为所有应用服务器/工作人员执行此操作。最后一步有时会失败,因为它可以删除发布目录中的所有内容,但不能删除.gnpug键。

在发布目录中,所有文件都归我的用户帐户所有,但.gnupg是root:

drwx-wS--- 2 root     staff 4096 Jun  1 12:01 .gnupg

我可以通过它来解决它,但这是一个烦恼,因为监视器认为部署失败,因为它无法完成部署的最后一步。

我认为有一点可能是一个因素:部署脚本针对所有应用服务器运行,我必须为每台服务器使用2FA - 然后在部署过程中,如果初始化,它有时会重新提示我2FA auth> 1分钟。这可能是罪魁祸首吗?我该怎么办呢?

以下是我们的capistrano宝石版本:

  gem 'capistrano', '~> 3.9.0'
  gem 'capistrano-rails', '~> 1.3.0'
  gem 'capistrano-bundler', '~> 1.2.0'
  gem 'capistrano-rbenv', '~> 2.1.1'
  gem 'capistrano-github', github: '3scale/github', require: false

0 个答案:

没有答案