繁体   English   中英

如何在 JenkinsFile 多分支管道中使用正则表达式?

[英]How to use regular expression in a JenkinsFile multibranch pipeline?

我有一个多分支管道 jenkins 文件。 我希望能够使用自定义工作区,其中包括:

pipeline {
    agent {
        node{
            label 'windows-node'            
            customWorkspace "${env.BRANCH_NAME}"    
        }
    }
    //...
}

我希望能够提取我的分支名称的一部分来做正则表达式。

我的分支机构具有以下结构:

  • 掌握
  • 发展
  • 功能/BR-1-some-text
  • 错误/BR-5-some-text

我希望我的工作区只有 BR-X(如果存在),所以在我的情况下:

  • 掌握
  • 发展
  • BR-1
  • BR-5

我完全有能力做一个正则表达式来从文本中提取它,但我不知道如何提取这个正则表达式并将其用作 customWorkspace。

任何的想法?

如果理解正确,我会像这样在管道中使用条件检查,如果分支不是这种模式,我会中止管道。

when {
                not {
                    anyOf {
                        branch 'feat/*';
                        branch 'feature/*'
                        branch 'bug/*'
                        branch 'bugfix/*'
                        branch 'release/*'
                        branch 'hotfix/*'
                        branch 'PR-*'
            branch 'e2e/*'
            branch 'develop'
            branch 'fix/*'
                        }
                    }
                }

或者你也可以使用

when { branch pattern: "release-\\d+", comparator: "REGEXP"}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM