co2*_*f2e 6 git shell groovy jenkins jenkins-pipeline
我试图将git commit hash分配给Jenkins管道中的变量,如下所示
GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')"
Run Code Online (Sandbox Code Playgroud)
这将在Jenkins构建日志中打印提交哈希,但无法分配值.
当我尝试使用打印值时
steps{
script {
GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')"
echo "**************************************************"
echo "${GIT_COMMIT_HASH}"
echo "**************************************************"
}
}
Run Code Online (Sandbox Code Playgroud)
这将导致null
我该如何分配价值?
你必须告诉sh脚本将stdout返回给你的脚本,而不是仅仅将它转储到stdout.
GIT_COMMIT_HASH = sh (script: "git log -n 1 --pretty=format:'%H'", returnStdout: true)
Run Code Online (Sandbox Code Playgroud)
在https://<your_jenkins_hostname>/env-vars.html/下有一个页面显示每个构建中可用的 env 变量列表。
它们可能取决于您的插件,但如果您在管道中使用 git,那么您可能拥有正确的插件来使GIT_COMMIT
env 变量可用。
归档时间: |
|
查看次数: |
7587 次 |
最近记录: |