我整天都在研究这个问题,但找不到解决方案,所以我想求助于 stackoverflow 社区。
我有一个使用 Jenkins 的服务器设置(版本 1.454)。它被配置为使用 Maven(版本 3.0.4)执行构建。构建命令如下:
clean clover2:setup verify clover2:aggregate clover2:clover
Jenkins 安装并配置了声纳插件。我的声纳安装(版本 3)与詹金斯在不同的服务器上。构建完成后,我可以在声纳上看到结果(构建的基础知识)。
我已经手动安装了三叶草插件(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 文件(事实上,在我的摆弄中,我有 clover 插件在 jenkins 上工作,所以我可以在那里看到结果!)。
我在这个阶段猜测詹金斯和声纳在单独的盒子上存在一些问题。任何帮助,将不胜感激!
干杯。