次のプロパティを設定する必要があることはわかっていますが、どこに設定するかについてはまだ混乱しています。
spring:
cloud:
config:
allowOverride: true
failFast: true
overrideNone: false
Spring Cloudサーバー側またはクライアント側のapplication.propertiesファイルまたはリモートgitリポジトリ?
サーバー側のapplication.ymlに設定しましたが、動作しません。
リモートgitのapplication.ymlに設定してみましたが、やはり機能しません。助けていただければ幸いです。
リモートgitリポジトリで次の構成を設定しました。今回は動作します。
spring:
cloud:
config:
allowOverride: true
overrideNone: true
overrideSystemProperties: false
Spring Cloudドキュメントの リモートプロパティの値のオーバーライド セクションから:
bootstrapコンテキストによってアプリケーションに追加されるプロパティソースは、多くの場合「リモート」(たとえば、構成サーバーから)であり、デフォルトでは、コマンドラインを除いてローカルでオーバーライドできません。アプリケーションが独自のシステムプロパティまたは構成ファイルでリモートプロパティを上書きできるようにする場合は、リモートプロパティソースに
spring.cloud.config.allowOverride=true
を設定してアクセス許可を付与する必要があります(これをローカルに設定することはできません)。そのフラグが設定されると、システムプロパティとアプリケーションのローカル構成に関連してリモートプロパティの場所を制御するためのより細かい設定がいくつかあります。
spring.cloud.config.overrideNone=true
はローカルプロパティソースでオーバーライドし、spring.cloud.config.overrideSystemProperties=false
はシステムプロパティと環境変数のみがリモート設定を上書きする必要がありますが、ローカル設定ファイルは上書きしないでください。
したがって、リモートapplication.yml
(リモートgitリポジトリなど)に設定する必要があります。前述のように ここ :「アプリは、リモートソースからの構成をオーバーライドできるかどうかを独自に判断することはできません」。