Передача аргументов в build.gradle - PullRequest
0 голосов
/ 10 сентября 2018

Я создаю приложение Springboot, используя Gradle.

Сборка в конечном итоге выводит Docker-контейнер, и я хочу, чтобы мой build.gradle поддерживал несколько сред.

Я использую gradlew build docker для сборки, и раздел докера моего build.gradle:

docker {
  dependsOn build
  name "app-production"
  files bootJar.archivePath, 'application.yml'
  buildArgs(['JAR_FILE': "${bootJar.archiveName}"])
}

Я успешно передал аргументы в файл dockerfile, но теперь я также хочу передать аргументы в файл build.gradle. Возможно ли использовать gradlew build docker?

Мне нужно что-то вроде этого: gradlew build docker --env=qa, а затем:

docker {
  dependsOn build
  name "app-${env}"
  files bootJar.archivePath, 'application.yml'
  buildArgs(['JAR_FILE': "${bootJar.archiveName}"])
}

ПРИМЕЧАНИЕ: ${bootJar.archiveName} - это локальная переменная в моем build.gradle, а не переменная окружения

Есть идеи?

1 Ответ

0 голосов
/ 10 сентября 2018

Вы можете использовать Свойства проекта для передачи значений в сценарий сборки из командной строки следующим образом:

gradlew build docker -Penv=qa

Затем в своем сценарии сборки вы можетеполучить доступ к этому свойству:

docker { 
    name "app-${env}"
    // ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...