Jenkins:如何将通过 Gradle 测试保存的日志记录输出保存到 Jenkins 构建历史记录中



我正在使用:

  • 詹金斯 2.64
  • 格拉德尔 3.5
  • Spring 框架 4.3.8

我能够通过 Jenkins 通过 Gradle 任务执行 Main Java 类。 因此,我可以执行 N 次作业来绕过 JMX,对于每个作业执行,我都有Build History,我可以在其中查看每个交互的业务类的日志记录输出。

请注意,历史记录会为每个作业的执行保存每个日志记录输出

问题出在测试上。

通过 Jenkins,我能够执行与 Gradle Test 命令相关的作业,例如:gradle test --tests。这里有两种行为:

  • Gradle 通过自己的输出目录buildreportsteststest保存我的业务类的日志记录输出(这是预期的,我对此很好)
  • Jenkins 在执行Gradle测试命令方面工作得很好,但所有日志记录输出都只通过 Gradle 测试报告发布,而不是在 Jenkins 中发布,它在Build History中。

因此,Jenkins不包含我的业务类的日志记录输出。因此,如果我在我的开发周期中执行 N 次测试作业。我只能通过Gradle Test Reports看到最新的日志记录输出,遗憾的是Jenkins没有通过Build History保留这些日志记录输出。

如何解决这个问题?需要一些基本配置或插件吗?

为了在 Jenkins 中保存 junit 报告,您可以使用 JUnit 插件

单个报告位于构建/测试结果/测试/.xml*

如果使用声明性管道,则可以使用以下脚本

junit 'build/test-results/test/*.xml'

由于您指向的是 build\reports\tests\test\index.html这是 gradle 测试报告,因此您还可以使用 HTML 发布者插件保存该报告

我的建议是使用JUnit插件进行更好的集成。

若要保存生成中的工件,可以使用archiveArtifacts管道命令

它看起来像这样:

archiveArtifacts artifacts: 'build/reports/tests/test/*'

最新更新