簡體   English   中英

如何在Jenkins管道中從github中的Dockerfile創建Docker容器?

[英]How can I create a docker container from a Dockerfile in github inside a Jenkins pipeline?

我在github存儲庫中有一個Dockerfile。 我需要以某種方式設置我的工作區,為此,我想使用Dockerfile。

我似乎找不到Jenkinsfile的任何清晰示例,它將創建容器作為管道的單獨階段。

我該怎么做呢?

鑒於您使用的是管道(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守護程序公開到該映像以構建映像(此處某處有一個“映像一直向下”的笑話...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM