Jenkinsfile 和 env.GIT_BRANCH

Jenkinsfile and env.GIT_BRANCH

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

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

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

还有其他方法吗?

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

您可以使用正则表达式,因为目前您正在将字符串与字面上的 release/* 进行比较,这不太可能 return 为真。

利用正则表达式得出:

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

这将匹配以 release/ 开头的任何分支,这是您在问题中尝试检查的内容。

您可以在 documentation.

中找到有关 Groovy 正则表达式运算符的更多信息