Как создавать изображения докеров с помощью декларативного файла Jenkins

Я новичок в использовании Дженкинс....

Я пытаюсь автоматизировать создание изображения (для хранения в репозитории) с помощью декларативного файла Jenkinsfile. Я считаю, что документация сбивает с толку (в лучшем случае). Проще говоря, как я могу преобразовать следующий сценарий (из документов)

node {
    checkout scm
    def customImage = docker.build("my-image:${env.BUILD_ID}")
    customImage.push()
}

декларативному Jenkinsfile....

Ответ 2

Я использую следующий подход:

steps {
   withDockerRegistry([ credentialsId: "<CREDENTIALS_ID>", url: "<PRIVATE_REGISTRY_URL>" ]) {
      // following commands will be executed within logged docker registry
      sh 'docker push <image>'
   }
}

Где:

  • CREDENTIALS_ID означает ключ в Jenkis, под которым вы храните учетные данные в своем реестре докеров.
  • PRIVATE_REGISTRY_URL означает URL-адрес вашего приватного реестра докеров. Если вы используете концентратор докеров, он должен быть пустым.