2017-12-21 25 views
0

私はMetoku/NodeアプリをHerokuに導入しています。私は自分の設定で次の行を(OKGrowの分析のために)持っています。Settings.json to Herokuの設定

{ 
    "public": { 
    "analyticsSettings": { 
     "Google Analytics": { 
     "trackingId": "12345" 
     }, 
     "Segment.io": { 
     "apiKey": "abcdef" 
     } 
    } 
    } 
} 

ただし、会社ポリシーでは、settings.jsonをソース管理にチェックすることはできません。これを達成するためにHeroku設定変数を使用する方法はありますか?他の解決策はありますか?

答えて

2

Herokuのrecommends configuring your application via environment variables

より良い解決策は、環境変数を使用し、コードの外に鍵を維持することです。従来のホストやローカルで作業する場合は、bashrcファイルに環境変数を設定することができます。 Herokuでは、config varsを使用します。

幸い、流星will load settings from the METEOR_SETTINGS environment variableは:

(例えばバンドルから)直接サーバーを実行している、あなたの代わりにMETEOR_SETTINGS環境変数に直接JSONを入れて設定を指定します。設定オブジェクトにpublicという名前のキーが含まれている場合は、クライアントとサーバーでMeteor.settings.publicを使用できます。 Meteor.settingsの他のすべてのプロパティは、サーバー上でのみ定義されています。 Meteor.settingsMeteor.settings.publicは、設定が指定されていない場合でも、クライアントとサーバーの両方で定義されたオブジェクト(未定義ではない)に依存することができます。実行時のMeteor.settings.publicの変更は、新しいクライアント接続によって取得されます。

したがって、アプリのMETEOR_SETTINGS環境変数を設定するだけです(例:開発マシンで、またはHerokuのWebインターフェイスを使用して、

heroku config:set METEOR_SETTINGS="$(cat settings.json)" 

経由で送信することができます。

関連する問題