Jenkinsfile和env.GIT_BRANCH

时间:2019-05-10 16:09:09

标签: git jenkins jenkins-pipeline branch jenkins-groovy

我有一个使用分支策略的Jenkinsfile

每个if中都有一个stage语句。

我的release/*条件不起作用。我想将任何release/*分支部署到暂存环境。

还有其他方法吗?

if (env.GIT_BRANCH == 'master' || env.GIT_BRANCH == 'release/*' || env.GIT_BRANCH == 'develop')```

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式,因为当前您正在与字面上的release/*进行字符串比较,因此不可能返回true。

使用正则表达式可得出:

if (env.GIT_BRANCH == 'master' || env.GIT_BRANCH ==~ /release\// || env.GIT_BRANCH == 'develop')

它将与任何以release/开头的分支(这是您要在问题中尝试检查的)相匹配。

您可以在documentation中找到有关Groovy正则表达式运算符的更多信息。