#java #spring #configuration #spring-profiles
#java #spring #конфигурация #spring-профили
Вопрос:
У меня есть приложение.файл конфигурации yaml с несколькими профилями:
server:
address: 0.0.0.0
port: 9090
db:
url: 'jdbc:postgresql://localhost:5432/the_db'
driver: 'org.postgresql.Driver'
username: 'postgres'
password: ''
---
spring:
profiles: devArtem
db:
url: 'jdbc:postgresql://localhost:5432/my_db'
---
spring:
profiles: prod_1
db:
password: 'first_pass'
---
spring:
profiles: prod_2
db:
password: 'second_pass'
И я хочу удалить другие профили перед сборкой файла jar. Например, я не хочу предоставлять доступ для пароля prod_1 к платформе prod_2.
Для prod_1 это должно быть что-то вроде этого:
server:
address: 0.0.0.0
port: 9090
db:
url: 'jdbc:postgresql://localhost:5432/the_db'
driver: 'org.postgresql.Driver'
username: 'postgres'
password: 'first_pass'
или это:
server:
address: 0.0.0.0
port: 9090
db:
url: 'jdbc:postgresql://localhost:5432/the_db'
driver: 'org.postgresql.Driver'
username: 'postgres'
password: ''
---
spring:
profiles: prod_1
db:
password: 'first_pass'
Ответ №1:
Вы можете использовать несколько application-{profile}.yml и предоставить каждой команде нужный файл.
например :
приложение-devArtem.yml —> в команду devArtem
application-prod_1.yml —> в команду prod_1
application-prod_2.yml —> в команду prod_2