1

如何在 Jenkins 中显示“npm lint”结果?我知道如何在 Jenkins 中显示“pytest”结果:

  1. 像这样运行pytest:pytest --junitxml=./path/to/pytestFile.xml ./path/to/code
  2. 运行这个 Jenkins 命令:junit testResults: "./path/to/pytestFile.xml"

一旦我这样做了,我的测试结果就会出现在 Jenkins 的“测试结果”窗口中。我想对我的 angular lint 结果做类似的事情。我试过这样做,但没有奏效:

  1. 像这样运行 linter:npm lint --junitxml=./path/to/lintFile.xml
  2. 运行这个 Jenkins 命令:junit testResults: "./path/to/lintFile.xml"

问题是 npm 没有 --junitxml 开关。我怎样才能做到这一点?我正在使用 Jenkins 声明性管道。

4

1 回答 1

5

JUnit 是测试结果的格式,而不是 lint 结果的格式。尝试使用它是没有意义的。

最好使用的插件是警告下一代。它tslint列为支持的格式。

steps {
  sh 'npm run-script --silent -- ng lint --format=checkstyle >checkstyle-result.xml'
}
post {
  always {
    recordIssues tool: tsLint(pattern: 'checkstyle-result.xml'),
                 enableForFailure: true
  }
}

如果您的工作区中有多个项目,您可能会受到#14659的影响。要么指定一个项目,要么通过split -l 1.

如您所见,您随后会获得一份专门针对 TSLint 的报告,与其他分析问题和测试结果分开。它还了解不同的严重级别,这是 JUnit 无法表达的。

为 TSLint、测试结果和漏洞生成图表

于 2019-06-03T13:37:35.133 回答