0
我想知道是否有一種方法可以指定到Capistrano的命令run
以順序模式而不是並行模式運行(通常通過環境變量) 如果可能,我想避免在run
呼叫和find_servers_for_task(current_task).each do |hostname| ... end
循環之間切換的條件語句。Capistrano在順序模式下運行
有什麼建議嗎?
我想知道是否有一種方法可以指定到Capistrano的命令run
以順序模式而不是並行模式運行(通常通過環境變量) 如果可能,我想避免在run
呼叫和find_servers_for_task(current_task).each do |hostname| ... end
循環之間切換的條件語句。Capistrano在順序模式下運行
有什麼建議嗎?
好的,我終於找到了正確的語法。您可以通過:hosts
說明符限制run
命令的範圍(謝謝Andriy Yanko)。例如:
before "mytask", 'set_roles'
########### mytask #####################
desc "Example of a sequential run of capistrano"
task :mytask, :roles => :dynhosts do
find_servers_for_task(current_task).each do |hostname|
info "=> run mytask on #{hostname}"
run "whoami", :hosts => [ "#{hostname}" ]
end
end