2012-11-02 11 views
5

現在playframework 2.0.2を使用して、私はに私のアプリを入れたときに、私のapplication.confに私は、DB接続情報分散playframeworkアプリケーションで設定を変更する方法

db.default.url="jdbc:mysql://localhost:3306/test" 
db.default.driver=com.mysql.jdbc.Driver 
db.default.user=test 
db.default.pass=test 

を設定するしかし、私が知りたいのはありますプロダクションを "play clean update dist" とし、それをサイトにインストールします。これにはapplication.confはありません。つまり、コードを配布する前にdb接続を変更する必要がありますか?あなたがそれを配布した後でconfigファイルのdb接続を変更する方法はありますか?

答えて

8

play distを使用すると、設定ファイルはzipのjarファイルにパッケージ化されます。私はすべての設定ファイルをパッケージ避けるために

start -Dconfig.resource=prod.conf 
+0

これは、本番用パスワードを含む配布パッケージを必要としますか?アーチファクトにプロードパスワードを含めることができない場合は、 "-Dconfig.resource = prod.conf -Ddb.default.pass = myBar"を起動するように動作しますか? – nemoo

+1

はい、良い説明。設定パラメータは '-D'コマンドライン引数を使って設定することもできます。あるいは、 '-Dconfig.file =/home/blah/prod.conf'を使って' prod.conf'ファイルをアーティファクトに入れないようにすることができます。 –

4

:実行してprod.confファイルを使用することを教え、あなたがプレイアプリを起動したときに

include "application.conf" 

db.default.url="jdbc:mysql://foo.com:3306/mydb" 
db.default.driver=com.mysql.jdbc.Driver 
db.default.user=foo 
db.default.pass=bar 

:あなたのような何かを含むconf/prod.confファイルを作成することができますプロダクションサーバーでprod.confを作成し、分散ファイルを解凍するフォルダ以外のフォルダに格納することをお勧めします。次に、以下のようなスタートアップスクリプト(またはサービスとしてアプリケーションを起動するより洗練されたスタートアップスクリプト)を作成します。 configファイルをdistパッケージとは別に保存することで、新しい変更をプッシュする際に誤って上書きする危険を避けることができます。

#!/bin/bash 
sh start -Dconfig.file=/path/to/prod.conf & 
関連する問題