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} \''」 –