В моем приложении Spring Boot у меня есть древовидные профили: профиль по умолчанию, тестовый профиль и профиль непрерывной интеграции.
Профиль непрерывной интеграции определяет альтернативный datasource.url.
профиль теста определяет альтернативный liquibase.change-log.
Профиль по умолчанию определяет свойства по умолчанию для моего приложения.
Когда я запускаю тесты локально, я запускаю их, используя IntellIJ
и чтобы локально активировать профиль теста, я добавил аннотацию @ActiveProfiles("test")
к своим тестам.
и когда я запускаю их из моего CI, я добавляюSPRING_PROFILES_ACTIVE
env var выглядит следующим образом:
SPRING_PROFILES_ACTIVE=ci,test gradle integrationTest
, но профиль CI игнорируется Spring Boot.
Если я удаляю аннотацию @ActiveProfiles("test")
, мой CI работает отлично, но тогда я могуне легко запустить мои тесты с помощью IntelliJ.