0
我在我的Jenkins管道中尝试下面的行。在下面一组行中,我将变量IMAGE_NAME
分配到shell中,并尝试访问Jenkins管道脚本中的变量,但无法做到这一点。任何想法如何做到这一点?从Jenkins管道中访问Shell变量
stage('Build: Get Image') {
steps {
echo 'Getting docker image'
sh "IMAGE_NAME=`grep -ri \"Successfully built\"
$BUILD_FILE_NAME | awk \'{print \$3}\'`"
echo "Image Name is:$IMAGE_NAME"
}
}
无论全球环境变量暴露于詹金斯与否,取决于几乎你如何启动jenkins以及如何定义这些变量。 在jenkins步骤中发出命令“env”以查看哪些变量可用。 另外你如何开始詹金斯和你如何/你在哪里定义这个变量? –
我做了一个env,但没有显示IMAGE_NAME。但今天经过很多艰苦的努力,我发现了这个问题。 IMAGE_NAME数据末尾有一个\ r \ n字符。所以我用以下命令去除\ r \ n,并在awk中使用printf,它工作正常。非常感谢你 sh“IMAGE_NAME ='grep -ri \”成功构建\“ $ BUILD_FILE_NAME | awk \'{printf \”%s \“\ $ 3} \''” –