以不同用户身份运行部署任务

时间:2011-07-05 06:07:41

标签: ruby-on-rails-3 deployment capistrano

我有一个非常简单的Capistrano配方,需要部署在一个非常复杂的硬件堆栈上,我希望有人可以指出我出错的地方。

我们基础设施的安全性要求我:

  • 使用网关
  • 以非我自己的用户身份部署

所以,Capistrano需要:

  1. 通过网关连接authuser
  2. 通过网关以authuser
  3. 连接到应用服务器
  4. 将应用程序服务器上的文件部署为deployuser
  5. 我已经做到了第1步和第2步没有问题,但是重新:第3步,它将部署为authuser而不是deployuser,即使我已将跑步者设置为{{ 1}}。

    这是deploy.rb文件的配置部分:

    deployuser

    任何可能出错的想法?​​

    注意:当我运行deploy:setup时,命令以app = "new-app" auth_user = "authuser" deploy_user = "deployuser" set :user, "#{lexer_user}" set :gateway, "#{auth_user}@<gateway ip address>" ssh_options[:forward_agent] = true default_run_options[:pty] = true # Repository setup set :application, "#{app}" set :repository, "git@github.com:#{auth_user}/#{app}.git" set :scm, :git set :branch, "master" set :deploy_via, :remote_cache set :git_enable_submodules, 1 # Roles set :admin_runner, "#{deploy_user}" set :runner, "#{deploy_user}" role :web, "#{auth_user}@<gateway ip address>" role :app, "#{auth_user}@<gateway ip address>" role :db, "#{auth_user}@<gateway ip address>" # Location set :deploy_to, "/var/apps/#{app}" # TASKS ------------------------------------------------- ... 运行,就在我正常部署时出现问题。

1 个答案:

答案 0 :(得分:1)

不幸的是,我无法解决这个问题,但是,我能够说服我的IT人员略微更改设置,因此不再是问题。

此处还有关于此问题的持续对话:http://groups.google.com/group/capistrano/browse_thread/thread/42d0dfe5c0412ae