Jenkins 文本查找器插件,如何将此插件与 jenkinsfile 一起使用?

标签 jenkins jenkins-pipeline

我正在尝试使用 Text Finder plugin 编写 jenkinsfile ,但我不知道它到底是如何工作的。

这是我的代码:

pipeline {
    agent {
        label {
            label "master"
        }            
    }
    stages {
        stage('CHECKOUT') {
            steps{
                script{
                    echo "##[1 / 4] ERROR"
                }
                publishers {
                    textFinder("*ERROR*", '', true, false, true)
                }
            }
        }
    }
}

最佳答案

正如 @mghicks 已经提到的,并非每个插件都支持 Jenkins 管道。在这种情况下,文本查找器插件不支持它。 例如,您可以为其编写自己的常规函数​​:

例如:

pipeline {
    agent {
        label {
            label "master"
        }            
    }

    stages {
        stage ('Check logs') {
            steps {
                filterLogs ('ERROR', 2)
            }
        }
    }
}

我们正在调用函数filterLogs,并提供参数“ERROR”(在日志中搜索“ERROR”一词),并定义“ERROR”一词的出现次数(当“ERROR”一词出现两次时,工作不稳定):

我们的filterLogs函数如下所示:

#!/usr/bin/env groovy

import org.apache.commons.lang.StringUtils

def call(String filter_string, int occurrence) {
    def logs = currentBuild.rawBuild.getLog(10000).join('\n')
    int count = StringUtils.countMatches(logs, filter_string);
    if (count > occurrence -1) {
        currentBuild.result='UNSTABLE'
    }
}

如果您不使用共享库或其他东西,您也可以只在管道内部实现该函数。

关于Jenkins 文本查找器插件,如何将此插件与 jenkinsfile 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48450640/

相关文章:

jenkins - 如何将 Jenkins REST API 与 JENKINS_SERVER_COOKIE 一起使用?

java - Jenkins Sonar 检查失败 : Caused by: java. lang.ClassNotFoundException : org. sonar.api.checks.NoSonarFilter

java - 从 Java 向 Jenkins 传递值

jenkins - 管道参数和jenkins GUI参数如何协同工作?

jenkins - Docker- Jenkins 图像

linux - wsl ubuntu问题上的jenkins安装

tomcat - 在 Tomcat 上安装 Sonar 和 Jenkins

jenkins - 是否可以反编译 Jenkins 插件?

Jenkins 日期参数插件 - 如何在声明式管道中使用它

Jenkins Pipeline 条件阶段成功,但 Jenkins 显示构建失败