假设我想在同一个脚本管道下为不同的分支定义管道,如何为特定的分支模式定义正则表达式。例如:
if(env.BRANCH_NAME ==~ /release.*/){ stage("Deploy"){ echo 'Deployed release to QA' }
字符串在这里,我想为模式的任何分支定义正则表达式
*release*
型(意思是任何分支中有发布字符串)。如何实现这一点?同样,如何实现类似的东西:如果分支不是开发、主控、发布(模式),则使用。
vddsk6oq1#
如果你使用的是groovy,你可以使用以下命令
if ((env.BRANCH_NAME =~ '.*release.*').matches()) { stage("Deploy"){ echo 'Deployed release to QA' } }
字符串如果要匹配除develop、master或release之外的任何分支名称,可以使用the following regex
develop
master
release
if ((env.BRANCH_NAME =~ '^((?!develop|master|release).)*$').matches()) { stage("Deploy"){ echo 'Deployed release to QA' } }
型
fnx2tebb2#
您可以使用此正则表达式来匹配分支名称,如develop、release、hotfix。
hotfix
if (branch_name =~ 'develop|hotfix.*|release.*') { stage("Deploy") { echo 'Deployed release to QA' } }
字符串
hwazgwia3#
如果你不使用groovy,你可以像下面这样做:
stage('build') { when { **expression { !env.BRANCH_NAME.startsWith('release') }** } steps { ... } }
3条答案
按热度按时间vddsk6oq1#
如果你使用的是groovy,你可以使用以下命令
字符串
如果要匹配除
develop
、master
或release
之外的任何分支名称,可以使用the following regex型
fnx2tebb2#
您可以使用此正则表达式来匹配分支名称,如
develop
、release
、hotfix
。字符串
hwazgwia3#
如果你不使用groovy,你可以像下面这样做:
字符串