Capistrano多用户部署

时间:2015-05-20 16:25:58

标签: ruby-on-rails capistrano

我们使用Capistrano将更改部署到我们的网站。一切都运作良好,但我现在有另一名受过培训的员工,可以部署变更。每次她部署更改时,都必须更改deploy.rb文件并将set:user更改为她(和vise vera)。代码中是否有一种方法可以使用多个用户?

如下: set:user user1 OR user2?

由于我们使用Github进行版本控制,因此我们强制要求对每个更改进行评论,这会导致很多额外的步骤。

2 个答案:

答案 0 :(得分:1)

如果您需要为多个用户部署应用,则可以在deploy.rb文件中动态更改用户名。

我不确定,如果capistrano允许您开箱即用,但您可以使用用户名删除文件,例如在项目根目录或其他地方。

在deploy.rb

set :user, File.read('/path/to/file').strip

请注意,您还应将此文件添加到.gitignore。因此,每个开发人员都应该拥有自己的部署用户名文件。

答案 1 :(得分:0)

您可以完全删除用户名。然后它应该使用您的本地用户名:

server 'myservername', roles: %w{web app db}

如果服务器用户名与您的本地用户名不同,请尝试更新~/.ssh/config以指定正确的用户。

Host myservername
  User user2