1
我有一个独立的Jenkins作业来在我们的代码库上运行Sonar,它工作正常,但我始终获得代码覆盖率为零,尽管事后处理作业在Jenkins中正确显示代码覆盖率。我认为这个问题是有声纳无法正常拿起EXEC文件,我收到这在詹金斯日志:Jacoco.exe文件没有被Jenar拾起Jenkins
INFO: Analysing D:\Data\CCS\Jenkins\jobs\Sonar Scan\workspace\ccs-core\target\jacoco.exec
INFO: Analysing D:\Data\CCS\Jenkins\jobs\Sonar Scan\workspace\ccs-core-common\target\jacoco.exec
INFO: Analysing D:\Data\CCS\Jenkins\jobs\Sonar Scan\workspace\ccs-core-client\target\jacoco.exec
INFO: No JaCoCo analysis of project coverage can be done since there is no class files.
尽管事实上,我可以看到这些文件是在该位置的作业有后完成。
我在构建两个步骤,首先是通过MVN运行Jacoco:
clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true
第二只使用声纳插件来生成报告。然后是詹金斯生成Jacoco报告的后处理报告。
一些有用的灵魂指向我可能会失踪的东西吗?
这是行不通的,因为项目结构有点怪用sub pom.xml文件。我的配置文件如下所示: #带源码目录的逗号分隔路径(必需) sonar.sources = ccs-core/src,ccs-core-client/src sonar.binaries = ccs-core/target/classes,ccs-core-client/target/classes,ccs-core-common/target/classes #测试覆盖位置 sonar.jacoco.reportPaths = ccs-core/target/jacoco.exec ,ccs-core-client/target/jacoco.exec,ccs-core-common/target/jacoco.exec –
这不起作用,因为项目结构中有自己的poms子项目。我认为这基本上是问题所在。我确实跑过这个:http://stackoverflow.com/questions/27778752/how-can-i-integrate-jacoco-reports-with-sonarqube-without-using-maven其中说,我需要设置sonar.binaries财产,但这仍然失败,同样的错误。我不知道是否需要指定sonar.junit.reportsPath,或者是否可以使用多个路径将它指定为每个子项目的逗号分隔值。 –
是的,我不能为sonar.junit.reportsPath添加多个路径。我怀疑我无法做到这一点,因为我需要分别指定每个模块。 –