我整天都在研究这个问题并且找不到解决方案,所以我想转向stackoverflow社区。 p>
我有Jenkins的服务器设置(版本1.454)。它配置为使用Maven(版本3.0.4)执行构建。构建命令如下:
clean clover2:setup verify clover2:aggregate clover2:clover
Jenkins安装并配置了声纳插件。我的声纳安装(版本3)与jenkins位于不同的服务器上。构建完成后,我可以在声纳上看到结果(构建的基础知识)。
我已经通过将它放入'extentions / plugins'文件夹中手动安装了三叶草插件(sonar-clover-plugin-2.8.jar)。它出现在声纳中,我可以配置它。我将许可证版本(3.1.4)和sonar.clover.reportPath作为“target \ site \ clover \ clover.xml”。
当我运行构建时,它像以前一样成功,我可以像以前一样在Sonar中看到基本结果,但是,我看不到任何测试代码覆盖率结果。 当我查看maven构建输出时,我注意到以下内容:
[INFO] Writing report to '/opt/jenkins/jobs/foo/workspace/target/site/clover/clover.xml'
然后靠近输出的底部:
[INFO] [15:08:36.586] Clover XML report not found
以下内容也在我的pom中:
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.clover.reportPath>target\site\clover\clover.xml</sonar.clover.reportPath>
<sonar.surefire.reportsPath>target\surefire-reports</sonar.surefire.reportsPath>
<sonar.core.codeCoveragePlugin>clover</sonar.core.codeCoveragePlugin>
<sonar.clover.version>${clover.version}</sonar.clover.version>
当我查看jenkins框时,我可以看到它已经生成了clover.xml文件(事实上,在我的小提琴中我有使用jenkins的clover插件,所以我可以在那里看到结果!)。
我在这个阶段猜测詹金斯和声纳在单独的盒子上存在一些问题。 任何帮助将不胜感激!
干杯。
答案 0 :(得分:5)
经过更多的摆弄后,似乎我需要改变以下内容:
<sonar.clover.reportPath>${project.build.directory}/site/clover/clover.xml</sonar.clover.reportPath>
<sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
一个很好的参考如下: all about pom variables