我有一个Spring应用程序,我想根据我正在运行的配置文件从Vault加载配置。目前,我有两个配置文件(开发,prod)。我的Dev概要文件使用了一个H2数据库,其中Prod配置文件使用的是Posgres。运行dev配置文件将从Vault加载正确的配置,但是使用Prod配置文件运行似乎是在跳过它,而不是在Vault中查找。
bootstrap.yaml
spring:
application:
name: my-app
profiles:
active:
cloud:
vault:
host: localhost
port: 8200
scheme: http
uri: http://localhost:8200
connection-timeout: 5000
read-timeout: 15000
authentication: TOKEN
token: 00000000-0000-0000-0000-000000000000
kv:
enabled: true
backend: secret
default-context: my-app/dev
fail-fast: falsebootstrap-prod.yaml
spring:
application:
name: gateway
profiles:
active: prod
cloud:
vault:
host: localhost
port: 8200
scheme: http
uri: http://localhost:8200
connection-timeout: 5000
read-timeout: 15000
authentication: TOKEN
token: 00000000-0000-0000-0000-000000000000
kv:
enabled: true
backend: secret
default-context: my-app/dev
fail-fast: false例如,运行命令gradle将从保险库加载配置。但是,运行gradle -Pprod无法从Vault加载正确的配置。
发布于 2020-09-16 02:09:49
在使用gradle时,尝试使用以下语法来激活您的配置文件:
./gradlew clean bootRun --args='--spring.profiles.active=prod'https://stackoverflow.com/questions/62039585
复制相似问题