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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |