Spring Boot では、application.properties ファイルにアプリケーションの構成設定が含まれています。アプリケーションが異なる環境 (ローカル、Jenkins、OpenShift) で実行される場合、多くの場合、これらの設定を動的に調整することが望まれます。これを実現する 1 つのアプローチは、環境変数を使用することです。
環境変数を設定するには、ローカルおよび Jenkins VM でシステム環境変数を作成します。これらの変数の名前と値が OpenShift で使用されているものと同じであることを確認してください。例:
export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost" export OPENSHIFT_MYSQL_DB_PORT="3306" export OPENSHIFT_MYSQL_DB_USERNAME="root" export OPENSHIFT_MYSQL_DB_PASSWORD="123asd"
application.properties で環境変数を使用するには、構文 ${VARIABLE_NAME} を使用して環境変数を含めます。例:
spring.datasource.url = ${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/"nameofDB" spring.datasource.username = ${OPENSHIFT_MYSQL_DB_USERNAME} spring.datasource.password = ${OPENSHIFT_MYSQL_DB_PASSWORD}
注: Spring Environment オブジェクトを使用して環境変数を作成することもできますが、@Stefan Isele が提案しているように、application.properties で直接変数置換を使用することは困難です。より単純なアプローチ。
環境を使用する代替方法変数は Spring プロファイルを使用することです。このアプローチでは、それぞれが特定の環境に合わせて調整された複数の application.properties ファイルを作成できます。 Spring は、 spring.profiles.active プロパティの値に基づいて適切なファイルを自動的にロードします。このプロパティは、環境変数として、またはコマンドライン引数を通じて設定できます。たとえば、application-local.properties、application-jenkins.properties、および application-openshift.properties ファイルを作成できます。この場合、OpenShift にデプロイするときに OPENSHIFT_MYSQL_DB_HOST 変数と spring.profiles.active=openshift を設定します。
プロファイルを使用すると、環境変数内のデータベース認証情報やその他の機密情報がそのまま公開されることを回避できます。アクティブなプロファイルを構成するためにのみ使用されます。
以上が環境変数を使用して、異なる環境で Spring Boot アプリケーションを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。