git - Jenkins 管道分支名称返回 null

标签 git jenkins groovy

我正在尝试获取 jenkins groovy 脚本的分支名称。我无法获取当前的分支名称。我尝试以下操作:

stage('Check out code')
checkout scm
echo "My branch is: ${env.BRANCH_NAME}"

这是输出——它总是返回 null。

 Checking out Revision 33b531b2f1caaf8b64d968e437306f39d2dba1da   (origin/pipeline)
  > git.exe config core.sparsecheckout # timeout=10
  > git.exe checkout -f 33b531b2f1caaf8b64d968e437306f39d2dba1da
 [Pipeline] echo
 My branch is: null

我错过了什么吗?

最佳答案

此变量仅适用于多分支管道:

BRANCH_NAME 对于多分支项目,这将设置为正在构建的分支的名称,例如,如果您希望从主分支而不是功能分支部署到生产环境。

我在正常的管道中测试

关于git - Jenkins 管道分支名称返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43770058/

相关文章:

linux - 将触发器添加到 Jenkins 管道

java - cURL 发布到 Jenkins 上的 Splunk HEC

sorting - Groovy:按值对哈希键进行排序

jenkins - 如何从 groovy 脚本中为 jenkins 中的 bitbucket 应用构建触发器?

groovy - Groovy 中 NullObject 类的用途是什么?

git - 用远程分支覆盖我的本地分支

Github 不显示提交的正确作者

git - svn diff 或 git diff 中带有 at 符号的 “@@…@@” meta 行是什么意思?

git - 有没有办法在无缝提交 py 文件而不是 ipynb 时一起使用 Git 和 Jupyter 笔记本?

javascript - 如何正确修复 npm ERR!来 self 路径上 Ubuntu 的权限