1
我們正在開發一個系統,該系統允許我們與capistrano一起部署多個項目。我們有3個系統(前端,計費,應用程序),它們都有獨立的代碼庫,並且分多個階段部署在不同的服務器上。Capistrano調用多次部署?
使用capistrano_multiconfig創建一個具有多種配置的Capistrano回購,就像一個魅力。我可以單獨運行每個命令,並且它們都可以在正確的階段正確地部署到正確的服務器。
現在我想添加一個自定義任務,一次使用一個命令部署所有配置的項目。我粘貼了下面的命令代碼。
set :projects, ['front', 'billing', 'app']
namespace :deploy do
desc 'Deploy all'
task :all do
set :env, ask('To what environment do you want to deploy?', 'staging');
run_locally do
fetch(:projects).each { |project|
info "Now deploying #{project} to #{fetch(:env)}"
invoke "#{project}:#{fetch(:env)}"
invoke "deploy"
}
end
end
end
的問題是,只有上面的代碼部署的第一個項目,該信息的命令執行鍼對.each
循環的所有迭代,但部署命令的調用只運行在第一個項目,經過以下兩個調用調用只是無所事事。
任何人有想法?
是否所有部署作爲單個主體的3個應用程序?如果沒有,用戶可能會看到一些錯誤,因爲其中一部分已經出現並且與其餘部分不兼容。任何人都知道解決方案 –