加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 22:45:12 所属栏目:百科 来源:网络整理
导读:我有多级多服务器设置,在我的任务我需要使用服务器名称 例如在stagin.rb我有: set :stage,:staging# Define serversserver 'xxx.xx.xx.xxx',user: 'deploy',roles: %w{app},name: 'app1'server 'xxx.xx.xx.yyy',name: 'app2' 我想在我的任务中使用“name”
我有多级多服务器设置,在我的任务我需要使用服务器名称
例如在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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读