当我在构建流中进一步从git中 check out 存储库时,我想访问git变量,例如GIT_COMMIT
和GIT_BRANCH
。目前,我找不到可用的变量来访问这两个参数。
node {
git git+ssh://git.com/myproject.git
echo "$GIT_COMMIT - $BRANCH_NAME"
}
这些变量是否可用,以防万一,在哪里可以找到它们。我不介意它们是否可以通过一些时髦的变量或在任何地方可用,只是我可以访问它们。
也许我缺乏Groovy的调试技能,这很容易找到,但是我有限的技能却找不到它。
最佳答案
根据您使用的SCM插件,checkout
步骤可能返回有关修订的其他信息。这已在JENKINS-26100中解决。它已在2.6 version of the workflow-scm-step
plugin中发布。
例如,使用Git插件,您可以执行以下操作:
final scmVars = checkout(scm)
echo "scmVars: ${scmVars}"
echo "scmVars.GIT_COMMIT: ${scmVars.GIT_COMMIT}"
echo "scmVars.GIT_BRANCH: ${scmVars.GIT_BRANCH}"
具体取决于您使用的插件,因此原始答案可能对您更好。
原始答案
使用Pipeline Nodes and Processes Plugin 2.4版本,您可以简单地执行以下操作:
def gitCommit = sh(returnStdout: true, script: 'git rev-parse HEAD').trim()