Кэш конфигурации Gradle в Spring Boot bootBuildImage с несколькими изображениямиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Кэш конфигурации Gradle в Spring Boot bootBuildImage с несколькими изображениями

Сообщение Anonymous »

У меня есть модуль, который создает несколько приложений в одной многомодульной сборке Gradle (Gradle 9.1)
Все эти приложения являются приложениями с весенней загрузкой, и они развертываются как образы Docker с использованием задачи bootBuildImage из плагина загрузки Gradle Spring.
Мы используем непрерывную доставку, поэтому каждая сборка должна создавать образы Docker для всех приложений с простой версией образа. номер сборки (который создается конвейером и уникален для каждого запуска конвейера)
Моя конфигурация оценок выглядит следующим образом:

Код: Выделить всё

tasks.named('bootBuildImage') {

imageName = "${System.getenv('BUILD_DOCKER_REGISTRY')}/${project.name}:${System.getenv('BUILD_DOCKER_TAG')}"

builder = "paketobuildpacks/builder-jammy-java-tiny"
buildpacks = [ /* ... */ ]

environment.putAll([ /* ... */ ])
}
Все это работает нормально, но несовместимо с кешем конфигурации. Gradle обнаруживает, что env BUILD_DOCKER_TAG изменяется для каждой сборки, а затем аннулирует кеш конфигурации.
Это болезненно для моей команды, поскольку время настройки в нашем проекте сравнительно велико, а логика сборки редко меняется.
Поэтому у меня вопрос: есть ли способ перенести конфигурацию имени изображения со времени конфигурации на время сборки, чтобы кэш конфигурации остался нетронутый? (Я пробовал провайдеров, но то, что я пробовал, не помогло, плюс я не мог толком понять документацию при описании поведения в отношении кэша конфигурации)
Вещи, которые не будут работать:
  • Передача имени изображения в качестве параметра сборки: сборка создаст несколько изображений, которые различаются по имени, но должны иметь один и тот же тег.
  • оптимизация или проверка структура проекта: сборка высоко оптимизирована, почти все приемы, которые можно использовать, исключены.
  • любые вещи, которые займут больше времени (например, несколько сборок Gradle вместо одной, поскольку одна сборка Gradle очень параллельна)


Подробнее здесь: https://stackoverflow.com/questions/797 ... ple-images
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»