【问题标题】:Capistrano: running cap deploy:install ROLES=role1 runs ALL tasks on role1 serverCapistrano:运行 cap deploy:install ROLES=role1 在 role1 服务器上运行所有任务
【发布时间】:2012-09-06 10:02:06
【问题描述】:

我有一个简单的 capistrano 部署设置,看起来像这样:

server "server_ip1", :role1
server "server_ip2", :role2

还有一对任务

namespace :postgresql do
  desc "Install necessary ubuntu packages"
  task :install, roles: [:role2] do
    run "#{sudo} apt-get -y install postgresql libpq-dev"
  end
  after "deploy:install", "postgresql:install"
end

namespace :app_install do
  desc "Install necessary ubuntu packages"
  task :install, roles: [:role1, :role2] do
    run "#{sudo} apt-get -y install imagemagick"
  end
  after "deploy:install", "app_install:install"
end

现在的问题是,如果我运行 cap deploy:install ROLES=role1,它会正确运行 server_ip1 上的任务,但它同时运行任务 app_install:install 和 postgresql:install

有趣的是,如果我运行 cap deploy:install(没有 ROLES=role1),它会“正确”地执行所有操作。

我是不是搞错了?

【问题讨论】:

    标签: ruby-on-rails deployment capistrano


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      相关资源
      最近更新 更多