【问题标题】:Capistrano 3: Get server info from roleCapistrano 3:从角色获取服务器信息
【发布时间】:2014-08-06 08:22:49
【问题描述】:

不使用on就可以访问一个角色的hostnameuser,这样我就不用把任务嵌套在下面那么丑了?

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

【问题讨论】:

  • 你试过简单地打电话给roles(:web).each |host|吗?
  • 我是 Ruby 新手,你能给我举个例子吗?
  • roles(:web).each do |host| exectue :rsync...
  • 谢谢你,工作很棒!

标签: ruby rake capistrano capistrano3


【解决方案1】:

使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    相关资源
    最近更新 更多