GitLab CI CD runner не загружает файл свойств для профиля - PullRequest
1 голос
/ 30 марта 2020

Когда я запускаю команду 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

Не могли бы вы помочь мне решить эту проблему, поскольку этот обходной путь меня не удовлетворяет?

1 Ответ

0 голосов
/ 01 апреля 2020

Я нашел решение этой проблемы. Я изменил имя профиля с верхнего регистра (GITLAB-CI-TEST) на нижний регистр (gitlab-ci-test), чтобы соответствовать строчному имени профиля в файле свойств - application-gitlab-ci-test.properties.

Теперь в удаленный бегун, я использую следующую команду:

mvn clean test -Dspring.profiles.active=gitlab-ci-test

Spring do c - ссылка

...