2

私はスプリングブートアプリケーションでこの構成を持っています:

spring:
  application:
    name: my-app
  profiles:
    active: ${ENVIRONMENT}
  cloud:
    config:
     uri: http://localhost:8888

私の構成サーバーは次のファイルを読み取ります。

my-app-dev.yaml

prop: dev property

my-app-pro.yaml

prop: pro property.

Spring Boot アプリ設定を起動-DENVIRONMENT=devし、dev 外部 Git プロパティを正しく読み込みます。

環境をコントローラーに注入すると、env.getActiveProfiles()期待どおりに「dev」が得られます。

git 構成からさらにプロファイルを追加したいと思います。例えば:

my-app-dev.yaml

prop: dev property
spring:
  active:
    profiles: dev,business1

my-app-pro.yaml

prop: dev property
spring:
  active:
    profiles: pro,business2

したがって、env.getActiveProfiles()が返されます["dev","business1"]。ただし、返されるのはイニシャル"dev"です。

これはどのように行うことができますか?

アップデート:

Dave Syer が提案したようspring.profiles.includeに、Git ファイルで使用してみましたが、新しいプロファイルは環境に追加されません。

my-app-dev.yaml

prop: dev property
spring:
  profiles:
    include: business1

my-app-pro.yaml

prop: dev property
spring:
  profiles:
    include: business2

environment.getActiveProfiles() ---> "dev"

4

1 に答える 1