Spring Boot Deployment в разных средах
Я довольно новичок в весенней загрузке, мы работаем над приложением весенней загрузки (упаковка как файл war). При развертывании этого файла war в более высоких средах на сервере Tomcat: 1. Можем ли мы настроить application.properties для разных сред внутри войны (будь то dev, int, uat, prod)? ИЛИ 2. Когда настроено application.properties, можем ли мы поместить это в папку conf в tomcat, Вне файла war. (Аналогично вставке context.xml в традиционное веб-приложение), и приложение все равно его подберет?
2 ответа
Да, вы можете установить разные профили для разных сред. Давайте предположим, что у нас есть dev
, qa
а также prod
сред. Вам нужно создать три файла в одном месте, где application.properties
расположен с такими именами, как:
application-dev.properties
заdev
средаapplication-qa.properties
заqa
средаapplication-prod.properties
заprod
среда
Теперь вам просто нужно установить spring.profiles.active=qa
в application.properties
, В настоящее время мы устанавливаем qa
профиль. Вы можете установить то, что вы хотите.
Примечание. Свойства, установленные в новом созданном профиле, будут доступны только для активного профиля. Например, если вы установите некоторые свойства в dev
файл, он будет доступен только для dev
среда. Но свойства установлены в application.properties
будет доступно для всей среды. Таким образом, конфигурации, которые не зависят от среды, могут быть размещены в application.properties
Вы можете настроить различные профили для вашей среды. Для вашей dev-среды вы можете добавить application-dev.properties (или.yml) или для PROD application-prod.properties, а затем просто запустить ваше приложение с этим профилем.
См. https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html