我正在使用的大多数项目在Java7上使用了Gradle 1.6到2.3,并且在Jacoco中进行了代码覆盖。
Jenkins版本是:1.565.3和1.618(我有两个实例)
Jenkins的Jacoco插件版本:1.0.12
Gradle版本:2.3
Gradle的Jacoco插件版本:0.7.2.201409121644
现在,在Gradle中,有一个jacoco插件(提供jacocoTestReport任务),在Jenkins中,有一个Jacoco插件,它读取通过运行各种测试生成的exec文件,并在Jenkins作业的仪表板上显示报告。
如果我将Java 8与Gradle 2.0一起使用,直到2.3版本,现在不会显示这些报告。 Jenkins Jobs成功地在Jacoco上构建并运行了分析,但是报告不见了。
您是否看到过此问题?
如果您看到此内容,则表明Coverage已消失,而对于最新的构建,所有内容都是红色/没有Coverage。
主仪表板:
Jacoco插件报告(如果在工作上单击以上报告):
注意:
Graddle的jacocoTestReport 任务使用相同的.exec文件生成的报告显示,我拥有的jacoco * .exec文件是有效的。
最佳答案
我找出了Java 8项目未显示代码覆盖率的原因。
这是因为Jenkins的 Jacoco插件的版本不兼容,该版本仅在您的Jenkins实例中与Java7一起使用。尝试将Jenkins中的Jacoco插件更新为最新版本(1.0.15+)。
1.0.15版本提供了对Java 8的支持。 Jacoco插件发行说明
版本1.0.15(2014年6月11日)
•修复[JENKINS-20440]检查器问题
•修复[JENKINS-22716]-更新到JaCoCo 0.7.x以支持Java 8
•修复#40-项目仪表板图表的数据被截断
因此,需要在您的Jenkins中升级jacoco插件。
另外,请参见此处的版本信息/发行信息:https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin
您会注意到(此时)有一条警告消息,该消息可能会在以后的版本中(几天之内)得到解决。
不幸的是,JaCoCo 0.7.5破坏了与jacoco.exec文件以前的二进制格式的兼容性,JaCoCo插件当前基于JaCoCo 0.7.4,因此您不能将此插件与已经使用JaCoCo 0.7.5或更高版本的项目一起使用。直到0.7.4或更低,直到插件更新
关于gradle - Jenkins jacoco插件-Java8仪表板报告已消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31433938/