Deployment 如何使用“cap部署”部署到多个冗余生产服务器?

Deployment 如何使用“cap部署”部署到多个冗余生产服务器?,deployment,capistrano,Deployment,Capistrano,Capistrano非常适合部署到单个服务器。但是,我的web应用程序有多个生产API服务器。在部署时,我的代码需要立即部署到每个API服务器。手动指定每个服务器不是我要寻找的解决方案,例如,我不想执行cap api1部署;第2章部署 有没有一种方法,使用Capistrano,只需一个简单的cap部署,就可以一次部署到所有服务器?我想知道我需要对一个典型的deploy.rb文件做什么更改,是否需要为每个服务器创建一个单独的文件,以及是否需要和如何更改Capfile。此外,我需要能够为每个服务器指

Capistrano非常适合部署到单个服务器。但是,我的web应用程序有多个生产API服务器。在部署时,我的代码需要立即部署到每个API服务器。手动指定每个服务器不是我要寻找的解决方案,例如,我不想执行cap api1部署;第2章部署

有没有一种方法,使用Capistrano,只需一个简单的cap部署,就可以一次部署到所有服务器?我想知道我需要对一个典型的deploy.rb文件做什么更改,是否需要为每个服务器创建一个单独的文件,以及是否需要和如何更改Capfile。此外,我需要能够为每个服务器指定不同的deploy_to路径。理想情况下,我不必在不同服务器的不同配置文件中重复这些内容,例如,不必多次指定:repository、:application等等

我花了好几个小时在谷歌上搜索这篇文章,并浏览了一些教程,但我没有发现任何有用的东西

以下是我当前deploy.rb文件的一个片段:

set :application, "testapplication" 
set :repository,  "ssh://domain.com//srv/hg/#{application}" 
set :scm, :mercurial

set :deploy_to, "/srv/www/#{application}" 

role :web, "domain.com" 
role :app, "domain.com" 
role :db,  "domain.com", :primary => true, :norelease => true
我应该使用多级扩展并这样做吗

task :deploy_everything do
  system "cap api1 deploy" 
  system "cap api2 deploy" 
  system "cap api2 deploy" 
end

这可能行得通,但我觉得这不是这个扩展的目的…

看起来您可能对网络上的多个服务器感兴趣。这就是你想要的吗?

我看到了,但他们只指定域名。就像我说的:我需要指定每个服务器的域名和自定义路径。我可以做'role:libs,private.capify.org,mail.capify.org',但我如何也指定每台服务器的路径,并且以这样一种方式与capistrano兼容?既然您重申了自定义路径要求,我有点不知所措。我没有广泛使用这个系统。