Sonar没有拿起在jenkins中运行maven创建的三叶草测试结果

the*_* ox 5 clover maven jenkins sonarqube

我整天都在研究这个问题并且找不到解决方案,所以我想转向stackoverflow社区.

我有一个Jenkins服务器设置(版本1.454).它配置为使用Maven(版本3.0.4)执行构建.build命令如下:

clean clover2:setup verify clover2:aggregate clover2:clover
Run Code Online (Sandbox Code Playgroud)

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'
Run Code Online (Sandbox Code Playgroud)

然后靠近输出的底部:

[INFO] [15:08:36.586] Clover XML report not found
Run Code Online (Sandbox Code Playgroud)

以下内容也在我的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>
Run Code Online (Sandbox Code Playgroud)

当我查看jenkins框时,我可以看到它已经生成了clover.xml文件(事实上,在我的小提琴中我有使用jenkins的clover插件,所以我可以在那里看到结果!).

我在这个阶段猜测詹金斯和声纳在单独的盒子上存在一些问题.任何帮助,将不胜感激!

干杯.

the*_* ox 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>
Run Code Online (Sandbox Code Playgroud)

一个很好的参考是: 所有关于pom变量