Когда я запускаю команду mvn clean test -Dspring.profiles.active=GITLAB-CI-TEST
на компакт-диске GitLab CI, она не загружает файл свойств application-gitlab-ci-test.properties
. Загружается только application.properties
.
Поскольку файл application-gitlab-ci-test.properties
содержит другое значение для spring.datasource.url
конвейер завершается с ошибкой в удаленных бегунах с ошибкой
The last packet sent successfully to the server was 0 milliseconds ago.
The driver has not received any packets from the server.
Конечно, эта ошибка ожидается как файл свойств application.properties
ссылается на базу данных localhost.
Код, который загружает application-gitlab-ci-test.properties
:
@Profile("GITLAB-CI-TEST")
@PropertySource("classpath:application-gitlab-ci-test.properties")
@Configuration
public class GitLabCiTestProfile {
}
Когда я пытаюсь выполнить ту же команду локально, она работает как положено, и в журналах я вижу следующее записи:
2020-03-30 19: 23: 00.609 DEBUG 604 --- [main] osb c. c .ConfigFileApplicationListener: файл загруженного файла конфигурации ': / G: / **** / **** / **** / **** / target / classes / application.properties '(classpath: /application.properties)
2020-03-30 19:23 : 00.609 DEBUG 604 --- [main] osb c. c .ConfigFileApplicationListener: файл загруженного файла конфигурации: / G: / **** / **** / **** / **** /target/classes/application-GITLAB-CI-TEST.properties '(classpath: /application-GITLAB-CI-TEST.properties) для профиля GITLAB-CI-TEST
Я заметил, что удаленные бегуны пропустить второй линия. Этот, который загружает application-GITLAB-CI-TEST.properties
.
Я также пытался mvn clean test --batch-mode -PGITLAB-CI-TEST
, и этот тоже не удалось на удаленном хосте, но при локальном запуске работает, как ожидалось.
Я нашел обходной путь для этой проблемы с помощью команды
mvn clean test --batch-mode -Dspring.datasource.url=jdbc:mysql://mysql-db:3306/*******?useSSL=false&allowPublicKeyRetrieval=true
Не могли бы вы помочь мне решить эту проблему, поскольку этот обходной путь меня не удовлетворяет?