假设我想为同一脚本管道下的不同分支定义管道,如何为某些分支模式定义正则表达式。例如说:-
if(env.BRANCH_NAME ==~ /release.*/){
stage("Deploy"){
echo 'Deployed release to QA'
}
在这里,我想以这种方式为模式的任何分支定义该正则表达式
*release*
(表示其中包含释放字符串的任何分支)。 如何实现?
类似地,如何实现类似:-
如果分支除了开发之外,请掌握,发布(模式)。
答案 0 :(得分:2)
如果您使用的是Groovy,则可以使用以下内容
if ((env.BRANCH_NAME =~ '.*release.*').matches()) {
stage("Deploy"){
echo 'Deployed release to QA'
}
}
如果要匹配除develop
,master
或release
以外的任何分支名称,则可以使用the following regex
if ((env.BRANCH_NAME =~ '^((?!develop|master|release).)*$').matches()) {
stage("Deploy"){
echo 'Deployed release to QA'
}
}
答案 1 :(得分:0)
您可以使用此正则表达式来匹配分支名称,例如develop
,release
,hotfix
。
if (branch_name =~ 'develop|hotfix.*|release.*') {
stage("Deploy") {
echo 'Deployed release to QA'
}
}