You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用Jenkins Warnings NG插件解析ng build产生的构建警告?

Warnings Next Generation插件解析ng build警告的实现方案

可以实现,插件本身没有内置ngBuild这个专用解析工具,通过插件自带的自定义日志解析能力匹配Angular构建输出的警告格式即可,不需要手动翻阅控制台日志。

前置调整

首先修改构建环节的执行逻辑,避免日志格式干扰解析:

  • 提前创建日志存放目录,避免重定向输出时报错:执行sh 'mkdir -p report'
  • 给ng build命令加--no-color参数禁用彩色输出,注意:如果不加该参数,Angular CLI输出的ANSI彩色转义字符大概率会导致正则匹配完全失效;如果你的环境中构建警告会输出到错误流,需要把错误流合并到标准输出,最终命令如下:
    sh 'ng build --configuration production --no-color > report/build.log 2>&1'
    

核心配置修改

把你原有recordIssues块里不存在的ngBuild()替换为自定义解析工具,完整可用的阶段配置如下:

stage("Analysis"){          
    steps{
        nodejs(nodeJSInstallationName: 'nodejs') {
            sh 'npm ci'
            sh 'mkdir -p report'
            sh 'eslint src --ext .ts -f checkstyle > report/checkstyle-result.xml'
            sh 'ng build --configuration production --no-color > report/build.log 2>&1'
            recordIssues tools: [
                esLint(pattern: 'report/checkstyle-result.xml'),
                customTool(
                    id: 'ng-build-warnings',
                    name: 'Angular生产构建警告',
                    pattern: 'report/build.log',
                    // 匹配标准Angular警告行格式:Warning: 文件路径:行号:列号 - 警告信息
                    regex: '^Warning:\\s+(.+):(\\d+):(\\d+)\\s+-\\s+(.+)$',
                    // 把正则匹配到的分组映射到警告的对应字段
                    mapping: [
                        fileName: '$1',
                        lineNumber: '$2',
                        message: '$4'
                    ],
                    skipNoMatches: true
                )
            ]
        }
    }
}

适配说明

  • 上述正则默认匹配Angular CLI输出的带文件位置的代码类警告,比如模板类型错误、未使用导入、循环依赖等常见构建警告。
  • 如果需要匹配无对应文件的全局警告(比如打包体积超阈值、版本兼容提示类警告),可以额外新增一个自定义解析规则,或者调整现有正则兼容这类无行号的日志行。
  • 首次配置运行后,如果存在漏匹配的警告,可以在构建结果的Warnings页面查看未被解析的日志片段,微调正则表达式即可覆盖全量场景。

内容的提问来源于stack exchange,提问作者wotanii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:06:27