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

Jenkins:如何将通过Gradle测试保存的日志输出保存到Jenkins构建历史中,jenkins,jenkins-plugins,Jenkins,Jenkins Plugins,我的工作对象是: 詹金斯2.64 梯度3.5 Spring框架4.3.8 我能够通过Jenkins通过Gradle任务执行主java类。 因此,我可以执行一个作业N次来处理JMX,对于每个作业的执行,我都有构建历史,在这里我可以看到我的业务类对每个交互的日志输出 注意历史记录保存每个作业执行的每个日志输出 问题在于测试 通过Jenkins,我能够执行与Gradle Test命令相关的作业,例如:Gradle Test--tests。这里有两种行为: Gradle通过自己的输出目录build

我的工作对象是:

  • 詹金斯2.64
  • 梯度3.5
  • Spring框架4.3.8
我能够通过Jenkins通过Gradle任务执行主java类。 因此,我可以执行一个作业N次来处理JMX,对于每个作业的执行,我都有
构建历史
,在这里我可以看到我的业务类对每个交互的日志输出

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

问题在于测试

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

  • Gradle通过自己的输出目录
    build\reports\tests\test
    保存来自我的业务类的日志输出(这是预期的,我可以接受)
  • Jenkins在执行
    Gradle
    测试命令方面做得很好,但是所有日志输出都是通过Gradle测试报告发布的,而不是在Jenkins中发布的,它位于
    构建历史中
    
因此,
Jenkins
不包含来自我的业务类的日志输出。因此,如果我在整个开发周期中执行N次测试作业。我只能通过
Gradle测试报告
查看最新的日志输出,遗憾的是
Jenkins
没有通过
构建历史记录保存这些日志输出


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

要保存构建中的工件,可以使用pipeline命令

它看起来像:


archiveArtifacts工件:“build/reports/tests/test/*”

要从构建中保存工件,可以使用管道命令

它看起来像:


archiveArtifacts工件:“build/reports/tests/test/*”
为了在Jenkins中保存junit报告,您可以使用

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

如果您使用的是声明性管道,那么可以使用以下脚本

junit 'build/test-results/test/*.xml'
由于您指向的是作为gradle测试报告的build\reports\tests\test\index.html,因此也可以使用


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

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

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

如果您使用的是声明性管道,那么可以使用以下脚本

junit 'build/test-results/test/*.xml'
由于您指向的是作为gradle测试报告的build\reports\tests\test\index.html,因此也可以使用

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