Coverage report works in Jenkins using Jacoco but

2019-08-03 21:39发布

I'm using Jenkins+Jacoco+Sonarqube to test my code. In Jenkins, my mvn command is:

clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.skip=false -Dmaven.test.failure.ignore=true sonar:sonar

And I add action 'record jacoco coverage report' after build.

But the result is, jenkins works as below:

enter image description here

It shows coverage report and other information. But I cannot get coverage percentage in sonarQube therefore the quality gate in Sonarqube cannot be passed.

enter image description here

I guess that sonar cannot find the coverage report because it's not exist in the 'code' tab in SonarQube.

Please help me, I need the solution desperately.

2条回答
叛逆
2楼-- · 2019-08-03 21:51

sonar reads the jacocoexec file created by the plugin execution , you can under the target fodler of your project if the file is getting created, if the path of the file is different you need to provide it in the sonar properties file

查看更多
你好瞎i
3楼-- · 2019-08-03 22:12

In order to display your coverage in SonarQube, you should configure your sonarqube.properties file. In sonar properties, there is a parameter called sonar.jacoco.reportPaths. You should add this parameter by giving the path of your jacoco.exec file. For example:

sonar.jacoco.reportPaths=yourpath/jacoco.exec

查看更多
登录 后发表回答