【发布时间】:2014-05-22 19:48:41
【问题描述】:
所以我使用 capistrano 部署到两个单独的服务器。
我只想将 newrelic 添加到其中一台服务器,但找不到基于主机名的方法。有谁知道做这样的事情的方法
if (hostname==someserver)
gem 'newrelic_rpm'
end
谢谢!
【问题讨论】:
标签: ruby ruby-on-rails-3.2 gem rubygems bundler
所以我使用 capistrano 部署到两个单独的服务器。
我只想将 newrelic 添加到其中一台服务器,但找不到基于主机名的方法。有谁知道做这样的事情的方法
if (hostname==someserver)
gem 'newrelic_rpm'
end
谢谢!
【问题讨论】:
标签: ruby ruby-on-rails-3.2 gem rubygems bundler
正确的方法是为服务器使用两种不同的环境,就像development 和production。默认情况下这些是预先配置的,但您可以添加任意数量的环境并为其命名。然后你可以在你的机器上设置环境
export RAILS_ENV=server1
在另一台机器上
export RAILS_ENV=server2
您需要如何设置RAILS_ENV 将取决于您的特定服务器设置;例如,Passenger has a dedicated option for this。然后,您可以在 Gemfile 中将这些环境用作组:
group :server1
gem 'only_on_server1'
end
group :server2
gem 'only_on_server2'
end
【讨论】: