Как включить номера сборки Jenkins в сборку образов Docker с помощью CI - PullRequest
0 голосов
/ 07 мая 2019

Я создаю конвейер Jenkins для создания нескольких микросервисов, а также для создания образов Docker и передачи их в частный реестр Docker.

Образы Docker создаются с помощью сборки Gradle с помощью подключаемого модуля Docker, и я даже могунажмите на изображения.

Мне нужна помощь со следующими вопросами.

  1. Когда изображения создаются с помощью Jenkins, как пометить изображения для конкретной сборки Jenkins?Другими словами, я хотел бы сохранить образы докеров для каждой сборки и доставлять образы докеров, принадлежащие определенной сборке, в QA на основе сборки #.
  2. Если поддерживается несколько образов, как я могу условно удалитьустаревшие изображения?Скажем, я хочу очистить образы последних 10 сборок, но хотел бы сохранить образы сборки, помеченной выпуском или вехой.

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

По сути, Jenkins предоставляет переменную env BUILD_NUMBER, мы можем просто прочитать ее в файле Gradle, как показано ниже, и использовать то же самое для присвоения имен образам образов


    buildscript {
        ext {
            springBootVersion = "2.1.3.RELEASE"
            dependencyManagementVersion = "1.0.7.RELEASE"
            gradleDockerVersion = "0.13.0"
            spotBugsVersion = "1.7.1"
            guavaVersion = "27.0.1-jre"
            nodeVersion = "1.3.1"
            buildNumber = System.getenv("BUILD_NUMBER")!=null? System.getenv("BUILD_NUMBER") : "latest"
        }
    .....
    .....
    .....
}
0 голосов
/ 07 мая 2019

1- Для целей тегирования вы можете использовать переменные среды jenkin, такие как BUILD_NUMBER

. Для подробной проверки перейдите по следующей ссылке: https://wiki.jenkins.io/display/JENKINS/Building+a+software+project

2- Для сохранения максимального количества изображений, которые вы хотитеудержание в реестре докера зависит от провайдера.

Например: Артефакт из jFrog
https://www.jfrog.com/confluence/display/RTF/Docker+Registry

Установить максимальное количество уникальных тегов.Здесь указывается максимальное количество уникальных тегов для каждого хранилища, которое должно храниться для образа Docker.Как только количество тегов для изображения превысит это количество, старые теги будут удалены.Если оставить поле пустым (по умолчанию), все теги будут сохранены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...