Как я могу создать Docker-контейнер из Dockerfile в github внутри конвейера Jenkins? - PullRequest
0 голосов
/ 06 июня 2018

У меня есть Dockerfile в репозитории github.Мне нужно настроить свое рабочее пространство определенным образом, и для этого я хотел бы использовать Dockerfile.

Мне не удается найти какой-либо четкий пример Jenkinsfile, который создаст контейнер как отдельный этап конвейера..

Как мне это сделать?

1 Ответ

0 голосов
/ 06 июня 2018

Учитывая, что вы используете конвейерный (jenkinsfile) синтаксис, вот как выглядит построение образа докера (самый простой способ сделать это):

stage('Build Docker Image') 
{
    DOCKER_TAG = "my_tag"
     docker.withRegistry("${my_docker_registry}")
     {
       sh "docker build -t ${DOCKER_IMAGE}:${DOCKER_TAG}"
     }
}

Если вы хотите собрать контейнер, тогда протестируйтедля этого вам нужно будет сохранить ссылку на контейнер, и вы можете сделать это с помощью следующего кода:

stage('Build Docker Image') 
{
    DOCKER_TAG = "my_tag"
     docker.withRegistry("${my_docker_registry}")
     {
       var my_image = docker.build("${DOCKER_IMAGE}:${DOCKER_TAG}")

       my_image.inside
       {
         sh "echo 'Hello World'"
       }

       my_image.push()
     }
}

Обратите внимание, что если вы используете образ докера для запуска вашего конвейера, вам потребуетсяпредоставьте демону docker доступ к изображению, чтобы создать свой образ (где-то здесь есть шутка «изображение до конца» ...)

...