Как создавать образы докеров, используя декларативный Jenkinsfile - PullRequest
0 голосов
/ 26 апреля 2018

Я новичок в использовании Jenkins ....

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

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

в декларативный файл Jenkinsfile ....

Ответы [ 2 ]

0 голосов
/ 03 августа 2018

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

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, под которым вы сохраняете учетные данные в реестр Docker.
  • PRIVATE_REGISTRY_URL обозначает URL вашего личного реестра докеров. Если вы используете док-концентратор, он должен быть пустым.
0 голосов
/ 26 апреля 2018

Вы можете использовать скриптовые конвейерные блоки в декларативном конвейере в качестве обходного пути

pipeline {
    agent any
    stages {
        stage('Build image') {
            steps {
                echo 'Starting to build docker image'

                script {
                    def customImage = docker.build("my-image:${env.BUILD_ID}")
                    customImage.push()
                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...