0

我想知道是否有一种方法可以run为 Capistrano 的命令指定一种以顺序模式而不是并行操作的方式(通常通过环境变量)如果可能的话,我想避免使用条件语句在run调用和一个find_servers_for_task(current_task).each do |hostname| ... end循环。

有什么建议吗?

4

1 回答 1

1

好的,我终于找到了正确的语法。您可以run通过说明符限制命令的范围:hosts(感谢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
于 2012-06-20T14:13:02.117 回答