2013-04-18 17 views
8

Meteorのdocumentationによれば、デプロイメント固有の設定を行うためにコマンドラインから設定ファイルを含めることができます。自家生産環境での流星設定へのアクセス

ただし、--settingsオプションは、runおよびdeployコマンドでのみ利用可能であるようです。 Metaorアプリケーションを私自身のインフラストラクチャ(独自のインフラストラクチャ上で実行する場合documentationセクションに記載されている)で実行している場合、プロセスのどこにでもデプロイメント固有の設定ファイルを指定する方法はないようです。

私のインフラストラクチャ上で実行されている運用環境で流行設定にアクセスする方法はありますか?

答えて

14

はい、環境変数METEOR_SETTINGSに設定内容を含めてください。例えば、

export METEOR_SETTINGS='{"privateKey":"MY_KEY", "public":{"publicKey":"MY_PUBLIC_KEY", "anotherPublicKey":"MORE_KEY"}}'

そして、通常のように流星アプリを実行します。

これは、Meteor.settingsオブジェクトが正常であることを示します。上記の設定のために、私たちのprojectについては

Meteor.settings.privateKey == "MY_KEY" #Only on server 
Meteor.settings.public.publicKey == "MY_PUBLIC_KEY" #Server and client 
Meteor.settings.public.anotherPublicKey == "MORE_KEY" #Server and client 

は、我々はupstartスクリプトを使用すると、(成り上がりがわずかに異なる構文を持っているが)そこに含まれています。しかし、通常のシェルスクリプトを使用して起動する場合は、ノードコマンドの前にそのexportステートメントを含める必要があります。あなたはbashの変数hereに関する詳細な情報を見つけることができます

export METEOR_SETTINGS='{"stuff":"real"}' 
node /path/to/bundle/main.js 

または

METEOR_SETTINGS='{"stuff":"real"}' node /path/to/bundle/main.js

:あなたは、例えば、のようなスクリプトを持つことができます。

+0

したがって、 'Meteor.settings.privateKey'コードは期待通りに機能しますか? – JT703

+0

回答はそれを反映するために編集されました。 – jagill

+0

素晴らしいです。だから、私はあなたのコードにエクスポートステートメントを推測していますか?コードベースにそのステートメントを置く場所がありますか? –