Ash*_*ley 2 regex groovy jenkins jenkins-pipeline
假设我想在同一脚本化管道下为不同分支定义管道,如何为某些分支模式定义正则表达式。举例来说:-
if(env.BRANCH_NAME ==~ /release.*/){
stage("Deploy"){
echo 'Deployed release to QA'
}Run Code Online (Sandbox Code Playgroud)
在这里,我想以这种方式为模式的任何分支定义该正则表达式
(意味着其中包含发布字符串的任何分支)。如何实现这一目标?
同样如何实现类似的目标:-
如果分支不是开发、掌握、发布(模式)。
如果您使用 groovy,您可以使用以下内容
if ((env.BRANCH_NAME =~ '.*release.*').matches()) {
stage("Deploy"){
echo 'Deployed release to QA'
}
}
Run Code Online (Sandbox Code Playgroud)
如果您想匹配除develop,master或 之外的任何分支名称release,您可以使用以下正则表达式
if ((env.BRANCH_NAME =~ '^((?!develop|master|release).)*$').matches()) {
stage("Deploy"){
echo 'Deployed release to QA'
}
}
Run Code Online (Sandbox Code Playgroud)