![](/img/trans.png)
[英]Jenkins Pipeline docker.build() gives error '“docker build” requires exactly 1 argument(s)'
[英]docker.build() in Jenkins pipeline with two tags
如何在使用docker.build()
腳本的 Jenkins 管道中為 docker 構建步驟設置另一個標簽?
至於現在我有:
docker.build("artifactory/docker/${IMAGE_NAME}:${BUILD_NO}")
接着
rtDockerPush(
serverId: "Artifactory",
image: "artifactory/docker/${IMAGE_NAME}:${BUILD_NO}",
targetRepo: 'docker',
)
rtPublishBuildInfo(
serverId: "Artifactory"
)
但我也想用:latest
標記它
我試過類似的東西:
docker.build("artifactory/docker/${IMAGE_NAME}:${BUILD_NO}","-t latest .")
但這不起作用(它僅使用內部版本號發布)。
有什么建議嗎?
附言。 根據給定的答案,我最終有兩個推送請求如下:
rtDockerPush(
serverId: "Artifactory",
image: "artifactory/docker/${IMAGE_NAME}:${BUILD_NO}",
targetRepo: 'docker',
)
rtDockerPush(
serverId: "Artifactory",
image: "artifactory/docker/${IMAGE_NAME}:latest",
targetRepo: 'docker',
)
rtPublishBuildInfo(
serverId: "Artifactory"
)
您需要將構建命令更新為:
docker.build("test-alpine:123", "test-alpine:latest .")
它將在引擎蓋下產生以下 bash 命令:
docker build -t test-alpine:123 -t test-alpine:latest .
所以可能需要將此代碼放入您的 Jenkinsfile 中:
docker.build("artifactory/docker/${IMAGE_NAME}:${BUILD_NO}","-t artifactory/docker/${IMAGE_NAME}:latest .")
要推送其他標簽,您可以使用docker.push
命令
def customImage = docker.build("my-image:${env.BUILD_ID}")
customImage.push()
customImage.push('latest')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.