Используйте параметры запуска внутри вашего задания / скрипта CI.
В зависимости от того, как вы запускаете свои тесты, вы можете, например, сделать это с аргументами виртуальной машины
mvn test -Dspring.profiles.active=ci-test
или
java -jar -Dspring.profiles.active=ci-test
или любым другим.
С другой стороны, вы можете использовать программные аргументы:
java -jar --spring.profiles.active=ci-test
Так или иначе, если активный профиль при запуске активирует файл свойств по вашему выбору.
Если вы хотите, чтобы какой-то определенный фрагмент кода (например, класс конфигурации) выполнялся только с определенным профилем, аннотируйте этот фрагмент кода с помощью @Profile("ci-test")
Пример:
@Configuration
@Profile("ci-test")
public class SomeConfiguration {
//any configuration beans etc.
}
Следующий класс будет загружен только тогда, когда Ваш активный профиль будет "ci-test".Поэтому, если вы запустите приложение на своем CI-сервере с помощью одной из приведенных выше команд, будет загружен как файл свойств с именем «ci-test», так и этот класс конфигурации.
Стоит также добавить, что для запуска некоторого кода во ВСЕХ профилях, КРОМЕ указанного, вы можете отменить имя внутри аннотации профиля, например: @Profile("!ci-test")
.
Код с комментариями будет работать со всеми профилями (включая стандартные), кроме "ci-test".