jenkins - 如何正确使用Jenkins警告下一代插件的三个步骤?

标签 jenkins jenkins-pipeline software-quality

用于管道的Jenkins警告下一代插件的documentation指定了三个步骤变体:

  • publishIssues:发布由静态分析扫描
  • 创建的问题
  • recordIssues:记录编译器警告和静态分析结果
  • scanForIssues:扫描文件或控制台日志以获取警告或问题

  • 我刚刚尝试了以下简单代码段:
    stage('QA checks') {
        steps {
            recordIssues([
                enabledForFailure: true,
                tools: [php()]
            ])
        }
    }
    

    并将结果显示在构建页面上(“PHP运行时:无警告”)。但是,另外两个步骤的意义是什么?

    配置插件的正确方法是什么?应该像这样使用这三个部分吗?
    stage('QA checks') {
        steps {
            scanForIssues([...])
            recordIssues([...])
            publishIssues([...])
        }
    }
    

    最佳答案

    来这里问同样的问题。从文档中找出来。 https://github.com/jenkinsci/warnings-ng-plugin/blob/master/doc/Documentation.md

    总之,recordIssues命令旨在用于简单的用例,而scanForIssuespublishIssues命令旨在用于更复杂的用例。

    因此,您对recordIssues的用法似乎完全符合作者的意图。

    documentation:

    Advanced Pipeline configuration

    Sometimes publishing and reporting issues using a single step is not sufficient. E.g., if you build your product using several parallel steps and you want to combine the issues from all of these steps into a single result. Then you need to split scanning and aggregation. The plugin provides the following two steps:

    • scanForIssues: this step scans a report file or the console log with a particular parser and creates an intermediate AnnotatedReport object that contains the report. [...]
    • publishIssues: this step publishes a new report in your build that contains the aggregated results of several scanForIssues steps. [...]

    关于jenkins - 如何正确使用Jenkins警告下一代插件的三个步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61428125/

    相关文章:

    jenkins - 如何将 "Run Parameter"中 "Copy artifacts from another project"中的值用于我们的 Jenkins 作业?

    ios - Jenkins 执行 shell 使用 CFBundleShortVersionString 版本值获取

    linux - Jenkins 中的什么目录 shell 命令执行?

    jenkins - 如何在 Jenkins 声明式管道的阶段中对同一函数进行并行调用

    software-quality - 有关 Microsoft 软件质量指标 (.sqm) 文件格式的信息?

    java - 在 Jenkins 的 Ant 构建中查找 Maven settings.xml

    jenkins - 我怎么知道 Jenkins 管道的哪个阶段失败了

    docker - jenkinsfile docker.withRegistry 使用子域方法推送到artifactory

    sql-server - 包含测试用例的 SQL Server .sql 文件

    java - 如何在真实条件下模拟 Web 应用程序的 120 个并发用户?