【发布时间】:2014-09-22 23:07:35
【问题描述】:
我正在使用 Capistrano 2 和多级扩展来部署 Rails 应用程序。我有很多服务器,只有一个 New Relic Pro 帐户。我正在使用 Roundsman 通过 capistrano 部署厨师食谱。相关厨师脚本链接https://github.com/escapestudios-cookbooks/newrelic/blob/master/recipes/server_monitor_agent.rb
我有两个阶段,分期和制作。这些是 config/deploy/staging.rb 文件的相关部分
set :sidekiq_host, "sqstaging.com"
set :webapp_host, "staging.com"
set :db_host, "dbstaging.com"
set :stage, "production-#{application}"
set :rails_env, "staging"
set :sidekiq_env, "sidekiq_staging"
set :user, "jpubu33"
set :port, 333
set :deploy_to, "/mnt/www/#{application}"
set :branch, "master"
server webapp_host, :app, {
:newrelic, {:server_monitoring => {:license => "cfdfdsvv45b" } }
}
server sidekiq_host, :app, {
:newrelic, {:server_monitoring => {:license => "fveveveuvevhuevuiehv" } }
}
server db_host, :app, {
:newrelic, {:server_monitoring => {:license => "vevhuevuihuvhrubrhub" } }
}
遗憾的是,新的遗物密钥最终成为食谱的默认值 CHANGE_ME。
但是,如果我只是将其添加到文件中,它会将所有服务器设置为相同的新遗物密钥
set :newrelic, { :server_monitoring => {:license => "vehfhdufuehfheuhr948hvdfdsgb" } }
我想知道为什么每个服务器的配置不起作用,以及以后是否有办法使用每个服务器的变量——例如,我可以做类似的事情
set :myKey, webapp_host => {:newrelic}
【问题讨论】:
标签: capistrano chef-infra newrelic