如何在Jenkins管道中的github中从Dockerfile创建一个docker容器?

时间:2018-06-06 08:57:07

标签: docker jenkins dockerfile jenkins-pipeline

我在github repo中有一个Dockerfile。 我需要以某种方式设置我的工作区,为此我想使用Dockerfile。

我似乎无法找到任何明确的Jenkins文件示例,它会将容器创建为管道的单独阶段。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

鉴于您正在使用管道(jenkinsfile)语法,这就是构建docker图像的方式(最简单的方法):

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镜像来运行管道,则需要将docker守护程序公开到图像以构建您的图像(这里有一个“图像一直向下”的笑话...... )

相关问题