剥离GIT_BRANCH以获取版本

时间:2019-02-16 17:35:13

标签: jenkins

我的分支具有以下格式:release / 1.0.0

当我使用$ {GIT_BRANCH}时,得到以下信息:origin / release / 1.0.0

我尝试使用EnvInj设置这样的变量: enter image description here

如果我按原样离开$ {GIT_BRANCH},它会正常工作,但是如果我使用$ {GIT_BRANCH,fullName = false}。它始终是一个空字符串。

我也尝试使用:How to receive local Git branch name with Jenkins Git plugin?

什么是仅获取1.0.0.0-rc134的正确格式

3 个答案:

答案 0 :(得分:0)

您总是可以编写一个小的bash脚本来完成此操作。

  1. 使用执行Shell构建步骤

    echo "RELEASECANDIDATE=${GIT_BRANCH##*/}-rc${BUILD_NUMBER}" > ${WORKSPACE}/inject.txt
    
  2. 使用注入外壳,然后在属性文件部分中输入文件名

    ${WORKSPACE}/inject.txt
    
  3. 最后在更新内部版本名称中,使用变量下面的宏

    ${RELEASECANDIDATE}
    

这应该为您带来正确的价值

答案 1 :(得分:0)

在执行 bash 时使用以下命令来获取您想要的分支字符串的任何部分。我在这里得到中间部分。请记住,它从左边和 1 开始计数。

SUBSTR=$(echo $GIT_BRANCH | cut -d'/' -f 2)

我继续搜索并在下面的链接中找到了解决此问题的更好方法。基本上而不是使用 $GIT_BRANCH,您可以在 git pull 和“签出到特定的本地分支”之后添加一个额外的行为,然后使用 $GIT_LOCAL_BRANCH 它将返回您期望的内容并与所有插件兼容(至少与我使用的 FTP 插件)用过的)。请在以下链接中查看更多详细信息:

How to receive local Git branch name with Jenkins Git plugin?

答案 2 :(得分:0)

尝试获得 ${GIT_LOCAL_BRANCH}。它只返回分支名称。