Capistrano 3:从角色获取服务器信息

时间:2014-08-06 08:22:49

标签: ruby rake capistrano capistrano3

是否可以在不使用hostname的情况下访问角色的useron,因此我不必将下面的任务嵌套到如此难看的状态?

task :foo do
    on roles(:web) do |host|
        run_locally do
            execute :rsync, '-avzr', "/foobar", "#{host.user}@#{host.hostname}:/foobar"
        end
    end
end

1 个答案:

答案 0 :(得分:2)

解决使用Uri Agassi建议使用each

task :foo do
    run_locally do
        roles(:web).each do |host|
            execute :rsync, '-avzr', "/foobar", "#{host.user}@#{host.hostname}:/foobar"
        end
    end
end