Jenkins脚本化管道中的分支指定符正则表达式
假设我想为同一脚本管道下的不同分支定义管道,如何为某些分支模式定义正则表达式。例如说:
if(env.BRANCH_NAME ==~ /release.*/){ stage("Deploy"){
echo 'Deployed release to QA'
}
在这里,我想以这种方式为模式的任何分支定义该正则表达式
*release*
(表示其中包含释放字符串的任何分支)。如何实现?
以及类似的如何实现:-
如果分支除了开发之外,什么都不是,请掌握,发布(模式)。
回答:
如果您使用的是groovy,则可以使用以下内容
if ((env.BRANCH_NAME =~ '.*release.*').matches()) { stage("Deploy"){
echo 'Deployed release to QA'
}
}
如果要匹配除或以外的任何分支名称develop
,则可以使用以下正则表达式master``release
if ((env.BRANCH_NAME =~ '^((?!develop|master|release).)*$').matches()) { stage("Deploy"){
echo 'Deployed release to QA'
}
}
以上是 Jenkins脚本化管道中的分支指定符正则表达式 的全部内容, 来源链接: utcz.com/qa/419172.html