安装New Relic而不向repo添加许可证密钥

时间:2013-02-13 22:49:11

标签: ruby-on-rails ruby ruby-on-rails-3 newrelic

我想在我的一个开源rails应用程序(v 3.2.12)上安装New Relic。我不想在回购中拥有许可证密钥。我想用ENV之类的东西加载它。

默认情况下,它加载在newrelic.yml文件中。

YAML文件在哪里加载?我想我可以手动将它与从ENV哈希加载许可证的哈希合并。

有关如何做到这一点的任何提示?

3 个答案:

答案 0 :(得分:14)

我使用Figaro gem处理带有ENV环境变量的密钥,与您类似。对于New Relic,我有:

config / application.yml .gitignore d并且未推送到源代码管理中)

# ...
NEW_RELIC_LICENSE_KEY: {{MY_KEY}}

然后在 config / newrelic.yml

中引用
# ...
license_key: <%= ENV['NEW_RELIC_LICENSE_KEY'] %>

一个名为 config / application.example.yml 的文件被推送到源代码仓库,其中包含将您自己的许可证密钥放入的说明:

<强>配置/ application.example.yml

# ...
NEW_RELIC_LICENSE_KEY: # put your license key here

有关更多详细信息,请参阅StackOverflow Q&amp; A:
What should be removed from public source control in Ruby on Rails?

答案 1 :(得分:7)

我在IRC上得到了一个有用的答案。 newrelic.yml是erb插值的。这意味着我可以将<%= ENV["NEWRELIC"] %>添加到yml文件中。

答案 2 :(得分:0)

这并不一定能回答您提出的确切问题,但这可能会解决您的最终目标。

通常对于这种情况,我将newrelic.yml文件添加到.gitignore,然后创建一个newrelic.yml.example,其中填写了所有非敏感字段,并为该密钥占位。

通过这种方式,我可以将它添加到我的newrelic.yml文件中进行开发,并将模板签入以供其他人使用。