如何在詹金斯中从 ${GIT_BRANCH} 中删除“origin”?

use*_*021 7 git jenkins

你如何origin从你的詹金斯工作中剥离“” ${GIT_BRANCH}

例如我${GIT_BRANCH}origin/develop:我如何剥离 origin${GIT_BRANCH}并得到 just develop

我正在尝试将此值传递给另一个詹金斯工作。

Mor*_*oth 5

如果您正在寻找使用 Jenkinsfile在常规管道作业和多分支管道作业中工作的解决方案,并希望在“环境”部分设置稳定的环境变量:

BRANCH_NAME = "${GIT_BRANCH.replaceFirst(/^.*\//, '')}"
Run Code Online (Sandbox Code Playgroud)

背景信息:对我来说,这些解决方案不起作用

  • ${BRANCH_NAME}:在多分支管道中设置,而不是在常规管道中设置。
  • ${GIT_BRANCH}:在多分支管道中设置为本地分支名称,但在常规管道中带有前缀“origin/”
  • ${BRANCH}:仅在常规管道中设置
  • ${GIT_LOCAL_BRANCH}:在Git插件文档中找到它,但没有设置,至少在多分支管道中没有设置
  • ${GIT_BRANCH,fullName=false}: 语法错误,无法解析,找到了对 SO 的引用,但没有文档。


Von*_*onC 1

来自JENKINS-25465

您必须将 fullName 设置为 false 才能删除源。

${GIT_BRANCH,fullName=false}
Run Code Online (Sandbox Code Playgroud)

jmogera在评论中指出:

似乎对我有用。这就是我所拥有的:

${GIT_BRANCH,fullName=false}-${BUILD_NUMBER}
Run Code Online (Sandbox Code Playgroud)