3

私はElasticBeanstalkでGrailsアプリケーションのいくつかの環境を実行しています。異なる環境のためだけに異なる.warファイルをビルドしてアップロードする必要がないのは大きな時間の節約になります(「コンテナ」構成領域にシステムプロパティとしてすべての環境の違いが渡されるため、外部構成ファイルはありません) 。この記事http://mrhaki.blogspot.ca/2011/02/grails-goodness-one-war-to-rule-them.htmlによると、単一の.warを使用し、渡すことで環境を動的に設定することができます。 grails.envプロパティですが、beanstalkが事前定義された名前付きシステムプロパティのセット(JDBC_CONNECTION_STRING、PARAM1、PARAM2など)に制限しているため、そうすることはできないようです。

ここでの私の最善のアプローチは何でしょうか?

4

2 に答える 2

4

構成の「container」領域にある「JVMCommandLineOptions」フィールドを介して、環境変数を含む任意のパラメーターをコンテナーに渡すことができることがわかりました。

-Dgrails.env=DesiredEnvironmentName 

チャームのように機能し、現在、すべての環境で単一の.warを使用しています。

于 2012-08-28T17:46:52.240 に答える
0

PARAM1を構成ファイルの名前に設定します。

次にConfig.groovyで

grails.config.locations = [ System.getProperty("PARAM1") ]

または、動的構成プラグイン( http://grails.org/plugin/dynamic-config)などを使用して、環境ごとに異なる構成をデータベースに保存することもできます。

于 2012-07-28T02:11:01.383 に答える