如何仅在特定匹配的分支名称上运行Jenkins管道阶段?

时间:2018-05-16 16:37:38

标签: jenkins jenkins-pipeline

如果分支与特定正则表达式(正则表达式)匹配,我只想在Jenkins管道(Jenkinsfile)中运行一个阶段。

类似的东西:

pipeline {
...
stages {
  stage('Test') {
    when {
        // pseudo code
        branch name == regex(/^foo.*bar/)
    }
  }
}
...
}

1 个答案:

答案 0 :(得分:1)

执行此操作的方法是使用expression部分与~==运算符(返回布尔值)结合使用。

def branch_name = "${BRANCH_NAME}"
pipeline {
...
stages {
  stage('Test') {
    when {
        expression {
            // use !(expr) to negate something, || for or, && for and
            return branch_name =~ /^foo.*bar/

        }
    }
  }
}
...
}