根据服务器名称添加gem

时间:2014-05-22 19:48:42

标签: ruby ruby-on-rails-3.2 gem rubygems bundler

所以我使用capistrano部署到两个独立的服务器。

我想要只为其中一个服务器添加newrelic,并且找不到基于主机名的方法。有谁知道这样做的方法

if (hostname==someserver)
  gem 'newrelic_rpm'
end

谢谢!

1 个答案:

答案 0 :(得分:1)

正确的方法是为服务器使用两种不同的环境,就像developmentproduction一样。这些是默认情况下预先配置的,但您可以添加任意数量的环境并为其指定任何名称。在您的机器上,您可以使用

设置环境
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