В настоящее время у меня есть приложение gradle, и я использую плагин gradle-docker.
В моем файле build.gradle есть две задачи Docker, каждая из которых должна пометить образ для соответствующего реестра контейнера (указано project.group):
task buildDockerSandbox(type: Docker) {
project.group = 'gcr.io/sandbox'
baseImage "java:8"
runCommand("mkdir a")
addFile("a.jar", "a/")
workingDir("/a")
entryPoint(["java", "-Dspring.profiles.active=sandbox", "-jar", "a.jar"])
}
task buildDockerProd(type: Docker) {
project.group = 'gcr.io/prod'
baseImage "java:8"
runCommand("mkdir b")
addFile("b.jar", "b/")
workingDir("/b")
entryPoint(["java", "-Dspring.profiles.active=prod", "-jar", "b.jar"])
}
Однако, когда я запускаю "gradle buildDockerSandbox", строка "project.group = 'gcr.io/prod'" регистрируется во время выполнения задачи buildDockerSandbox,в результате чего изображение будет помечено для неправильной среды.
Мне нужно отключить задачу, которая НЕ запускается из-за фактического запуска строки "project.group = {group}", чтобы предотвратить это, но не знаю как.
Ожидаемый результат: Запуск «gradle buildDockerSandbox» помечает изображение как «gcr.io/sandbox: enjapplicationName}», а запуск «gradle buildDockerProd» помечает изображение как «gcr.io/prod: enjapplicationName}».
Фактический результат: Обе задачи помечают изображение как "gcr.io/prod: enjapplicationName broadcast"
.