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 Test命令相关的作业,例如:Gradle Test--tests
。这里有两种行为:
- Gradle通过自己的输出目录
保存来自我的业务类的日志输出(这是预期的,我可以接受)build\reports\tests\test
- Jenkins在执行
测试命令方面做得很好,但是所有日志输出都是通过Gradle测试报告发布的,而不是在Jenkins中发布的,它位于Gradle
构建历史中李>
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插件进行更好的集成