Capistrano以顺序模式运行

时间:2012-06-06 19:48:54

标签: ssh capistrano

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

有什么建议吗?

1 个答案:

答案 0 :(得分: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