有没有一种简单的方法可以找出哪个分支在 Jenkins 中触发了构建过程?我正在使用Jenkins GitHub 插件和 GitHub Webhooks。
我不想为每个分支设置 CI 作业,而是创建一个自动处理此问题的中央脚本。
有任何想法吗?
干杯!
有没有一种简单的方法可以找出哪个分支在 Jenkins 中触发了构建过程?我正在使用Jenkins GitHub 插件和 GitHub Webhooks。
我不想为每个分支设置 CI 作业,而是创建一个自动处理此问题的中央脚本。
有任何想法吗?
干杯!
我查看了源代码,看起来 GitHub 插件在后台使用了 Git 插件:http ://wiki.hudson-ci.org/display/HUDSON/Git+Plugin
如果是这种情况,您应该可以使用 env-varGIT_BRANCH
我正在使用1.19.2 版的 Github 插件并依赖于GIT_BRANCH
不起作用。这个和 Git 插件文档中指定的其他变量都null
在我的情况下。不知道为什么。
所以,在这里和这里研究了这些帖子后,我决定使用git-name-rev
command。我是这样做的:
def cmd = 'git name-rev --name-only HEAD > branch'
isUnix()?sh(cmd):bat(cmd)
def branch = readFile('branch').trim()
echo("Branch is '${branch}'")
我希望这对其他人有帮助。