如何为每个詹金斯图像运行添加内部版本号?

时间:2018-08-22 04:04:49

标签: docker jenkins jenkins-pipeline jenkins-groovy

我正在尝试运行生成并推送到Azure容器注册表的映像。当我再次运行构建时,将名称替换为docker run会引发错误。所以,我的问题是如何用容器名称(即容器名称)添加内部版本号。像--name“ somename_buildnumber”一样,用于下面的jenkins文件来运行映像。有人可以帮我吗?

// Pull, Run, and Test on ACS 'stage'... 
          stage('ACS Docker Pull and Run') {
             app = docker.image('dockerregistry.azurecr.io/image:latest')
             docker.withRegistry('https://dockerregistry.azurecr.io', 'Credentails_ID') {
             app.pull()
               app.run('--name image_build_${env.BUILD_NUMBER} -i -t')
             }
          }

谢谢。

1 个答案:

答案 0 :(得分:2)

您的问题是Groovy的字符串插值,它适用于双引号字符串,而不适用于单引号字符串。

替换

app.run('--name pngimage_build_${env.BUILD_NUMBER} -i -t')

使用

app.run("--name pngimage_build_${env.BUILD_NUMBER} -i -t")

,您的变量将被替换。