2017-09-04 11 views
2

私は、複数のサービス、Webおよびワーカーを持つnodejsプロジェクトを持っています。これらのサービスはすべて同じリポジトリにあり、呼び出すために使用されるスクリプトの違いのみがあります。弾力のあるbeanstalkでの複数Nodejアプリケーション

私はサービスごとに異なる設定が必要ですが、私は1レポの下にそれらを保存したいと思います。私は環境を使用することができましたが、生産、ステージングなどのような実際の環境を混乱させます。 この種のアーキテクチャにはどのように弾力のある豆ストランドを使用できますか?環境は最高のソリューションですか?

答えて

1

これを処理する方法はたくさんあり、それぞれの長所と短所があります。私が過去に行ったことは、一般に公開されていなかった特定のS3バケットに自分の設定をアップロードすることでした。私はその後、署名されたURLを作成して(次の数年間、または何でもよい)、Beanstalk設定の環境変数として設定します。 .ebextensions/01-setup.config(またはどこか似た)、私は、これは持っている私に続いて、:、

{ 
    "container_commands": { 
    "copy_config": { 
     "command": "curl $CONFIG_URL > conf/config.json" 
    } 
    } 
} 

起動時に、コンテナはS3バケットからの設定のコピーを暗礁でしょうそれをローカルにコピーし、アプリケーションが起動しますこの設定で。

非常に簡単に管理できます。

+0

アーキテクチャーはどのようなものでしょうか?各サービスに複数の環境が存在するでしょうか?もしそうなら、ステージングやプロダクションなどの環境はどうやって処理しますか? – sidoshi

+0

@sidoshiはい、私は環境ごとに別々のBeanstalkアプリケーションを作成したいと思います。 Beanstalkで設定するときは、 'CONFIG_URL'環境変数を指定します。そのURLは、その環境に適した設定を指し示す署名されたURLになります。あなたのS3バケットには、 'appname-config-prod.json'、' appname-config-dev.json'などがあります。 – Brad

関連する問題