簡體   English   中英

Capistrano 3:在任務中使用服務器自定義變量

[英]Capistrano 3: use server custom variable in task

我有多階段多服務器設置,在我的任務中我需要使用服務器名稱,例如在stagin.rb我有:

set :stage, :staging
# Define servers
server 'xxx.xx.xx.xxx', user: 'deploy', roles: %w{app}, name: 'app1'
server 'xxx.xx.xx.yyy', user: 'deploy', roles: %w{app}, 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

如果要訪問自定義屬性,例如:name在此特定情況下的:name ,它們存儲在server配置對象的properties哈希中:只使用server.properties.name而不是server.hostname

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM