Мы разрабатываем новое веб-приложение с нуля с использованием Spring Boot и соответствующих зависимостей и создаем с помощью Gradle.Gradle создает несколько файлов .war с различными файлами свойств
Наш проект имеет почти 5 этапов тестирования, причем каждый этап выполняется на другом сервере и, следовательно, заканчивается несколько иной конфигурацией на каждом сервере.
Вышеупомянутый сценарий является очень распространенной ситуацией, и обычно это практика, которую я выполнил в своих предыдущих проектах, чтобы сохранить файл «Свойства» непосредственно под пулом классов сервера, чтобы тот же самый файл .war мог быть развернут на нескольких серверах и все еще имеют другую конфигурацию, основанную на сервере/среде.
Теперь очевидным недостатком вышеуказанной настройки является то, что такая настройка не может быть легко передана другим разработчикам через какой-либо контроллер версии. И далее я не могу использовать полномочия «Process Resources» в Gradle, чтобы внедрить некоторые динамические свойства во время процесса сборки.
Теперь, если я вытащил файл .properties в настройку проекта, тогда я могу легко управлять версиями, совместное использование становится проще, а также я могу вводить динамические свойства через Gradle. Недостатком является то, что мне, возможно, придется подготовить несколько файлов .war после обновления файла .properties.
Есть два вопроса, которые у меня есть?
- Что вы думаете об этих двух способах? Учитывая эту ситуацию, что бы вы выбрали и почему (любой другой способ справиться с этим сценарием)?
- Во втором случае создания нескольких файлов .war, как повторно запустить военную задачу для создания нового выходного файла?
Спасибо!
Я точно это делаю .. поскольку 99% свойств одинаковы, я должен подтолкнуть все свои свойства к appliation.properties. И тогда, поскольку я могу управлять активным профилем только из application.properties, у меня также есть переменная часть (spring.profile), а также в том же файле. Таким образом, я заканчиваю двумя сценариями, описанными выше. – rakpan
@FirstX Что значит «контролировать активный профиль»? вы не устанавливаете активный профиль в свой файл свойств, вы устанавливаете его в OS env var. Кроме того, у вас может быть более одного файла свойств –