オープンソースの Rails アプリケーション (v 3.2.12) の 1 つに New Relic をインストールしたいと考えています。レポにライセンスキーを入れたくありません。ENVのようなものでロードしたいと思います。
デフォルトでは、newrelic.yml
ファイルにロードされます。
その YAML ファイルはどこにロードされますか? ENV ハッシュからライセンスをロードするハッシュと手動でマージできると思います。
それを行う方法に関するヒントはありますか?
オープンソースの Rails アプリケーション (v 3.2.12) の 1 つに New Relic をインストールしたいと考えています。レポにライセンスキーを入れたくありません。ENVのようなものでロードしたいと思います。
デフォルトでは、newrelic.yml
ファイルにロードされます。
その YAML ファイルはどこにロードされますか? ENV ハッシュからライセンスをロードするハッシュと手動でマージできると思います。
それを行う方法に関するヒントはありますか?
あなたと同じように、環境変数で秘密鍵を処理するために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というファイルがソース コード リポジトリにプッシュされ、独自のライセンス キーを配置する手順が示されます。
config/application.example.yml
# ...
NEW_RELIC_LICENSE_KEY: # put your license key here
詳細については、この StackOverflow Q&A も参照してください:
Ruby on Rails の公開ソース管理から削除する必要があるものは何ですか?
IRC で有益な回答を得ました。newrelic.yml
erb 補間されます。<%= ENV["NEWRELIC"] %>
つまり、yml ファイルに追加するだけです。
これは必ずしもあなたが求めている正確な質問に答えるとは限りませんが、これで最終目標が解決される可能性があります。
通常、このような状況では、newrelic.yml ファイルを .gitignore に追加してから、すべての非機密フィールドとキーのプレースホルダーを入力して newrelic.yml.example を作成します。
このようにして、開発用に newrelic.yml ファイルに追加し、他のユーザーが使用できるようにテンプレートをチェックインすることができます。