ruby – Capistrano 3:在任务中使用服务器自定义变量

前端之家收集整理的这篇文章主要介绍了ruby – Capistrano 3:在任务中使用服务器自定义变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有多级多服务器设置,在我的任务我需要使用服务器名称
例如在stagin.rb我有:
set :stage,:staging
# Define servers
server 'xxx.xx.xx.xxx',user: 'deploy',roles: %w{app},name: 'app1'
server 'xxx.xx.xx.yyy',name: 'app2'

我想在我的任务中使用“name”变量:

task :configure do
  on roles(:app),in: :parallel do
  # how do I get server name here?
  end
end

解决方法

如果要返回主机名/ IP,那将是
task :configure do
  on roles(:app),in: :parallel do |server|
    p server.hostname # server hostname should be in here
  end
end

如果要访问自定义属性,例如:在这种特殊情况下的名称,它们存储在服务器配置对象的属性哈希中:只需使用server.properties.name而不是server.hostname.

原文链接:https://www.f2er.com/ruby/265605.html

猜你在找的Ruby相关文章