Jenkins检查env.BRANCH_NAME是否在Post Section中包含一些关键字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins检查env.BRANCH_NAME是否在Post Section中包含一些关键字相关的知识,希望对你有一定的参考价值。

我需要跳过某些包含“HotFix”作为单词的分支。是否有可能在Jenkins文件中有类似下面的内容?

post {
    success {
        withCredentials(some_details) {
            script {
                try {
                    if (!env.BRANCH_NAME.contains('HotFix')) {

                    }
                    else {

                    }
                }
                catch (err) {
                    echo    err
                }
            }
        }
    }
}
答案

Jenkins Declarative管道支持when directive,它可以根据预定义的条件跳过某些阶段。请考虑以下示例:

pipeline {
    agent any

    stages {
        stage("A") {
            steps {
                // ....
            }
        }

        stage("B") {
            when {
                expression {
                    !env.BRANCH_NAME.contains("HotFix")
                }
            }
            steps {
                // ....
            }
        }
    }
}

在这种情况下,我们只想在当前分支名称不包含B时执行阶段HotFix

以上是关于Jenkins检查env.BRANCH_NAME是否在Post Section中包含一些关键字的主要内容,如果未能解决你的问题,请参考以下文章

詹金斯管道中的条件步骤/阶段

jenkins构建失败的原因是啥

Jenkins 在 Tomcat 中的部署及代码静态检查工具集成

Jenkins系列——使用checkstyle进行代码规范检查

根据jenkins更新Log检查文件更新并比较两文件内容

SonarQube4.4+Jenkins进行代码检查实例之三-单元測试分析