Как передать переменные окружения в .gitlab-ci.yml в Gitlab для Spring Boot? - PullRequest
0 голосов
/ 28 февраля 2019

Я установил application.properties следующее:

spring.datasource.url=jdbc:postgresql://${SERVER_IP}/database
spring.datasource.username=${POSTGRES_USER}
spring.datasource.password=${POSTGRES_PASSWORD}
spring.datasource.driver-class-name=org.postgresql.Driver

Чтобы иметь возможность упаковать приложение, переменные среды должны быть переданы в команду Maven примерно так:

mvn -DSERVER_IP=111.111.11.1111:5432 -DPOSTGRES_USER=user -DPOSTGRES_PASSWORD="password" package

В .gitlab-ci.yml мне нужно передать эти переменные среды

maven-build:
  image: maven:3-jdk-8
  stage: build
  script: "mvn {what should I write here?} package -B"
  artifacts:
    paths:
      - target/*.jar

Я понимаю, что сначала в настройках Gitlab должны быть определены переменные среды, но как я должен ссылатьсяэти переменные окружения в .gitlab-ci.yml?

1 Ответ

0 голосов
/ 28 февраля 2019

Установите требуемые переменные среды в вашем Project -> Settings -> CI/CD -> Environment Variables.

А затем в .gitlab-ci.yml просто ссылку их как таковые:

script: mvn -DSERVER_IP=$SERVER_IP -DPOSTGRES_USER=$POSTGRES_USER -DPOSTGRES_PASSWORD=$POSTGRES_PASSWORD package -B

Примечание:Из документации :

Важно: Помните, что переменные не маскируются, и их значения могут отображаться в журналах заданий, если об этом явно просят сделать это.Если ваш проект является общедоступным или внутренним, вы можете установить частные конвейеры из настроек вашего конвейера .Следуйте обсуждению в вопросе # 13784 для маскировки переменных.

...