Jenkins 2 - Sonar 6.3 - 未找到 JaCoCo 报告

Jenkins 2 - Sonar 6.3 - JaCoCo report not found

我正在尝试将 cobertura 报告合并到 SonarQube 6.1。我已遵循此文档:

https://docs.sonarqube.org/display/PLUG/Code+Coverage+by+Unit+Tests+for+Java+Project https://docs.sonarqube.org/display/PLUG/Usage+of+JaCoCo+with+Java+Plugin

总而言之,我已将我的 Jenkins 管道配置为 运行 以下 Maven 语句:

sh "${mvnHome}/bin/mvn clean verify org.jacoco:jacoco-maven-plugin:prepare-agent org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar -Dmaven.test.failure.ignore=true -Dsonar.jacoco.reportPaths=${env.WORKSPACE}/target/jacoco.exec"

构建日志显示已生成 JaCoCo 报告:

[INFO] argLine set to -javaagent:/var/jenkins_home/.m2/repository/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9-runtime.jar=destfile=/var/jenkins_home/workspace/MY_PROJECT/target/jacoco.exec

但是当它试图访问它时,找不到它:

[INFO] Sensor JaCoCoSensor [java]
[INFO] JaCoCo report not found: '/var/jenkins_home/workspace/MY_PROJECT/target/jacoco.exec'

我已验证文件在 /target/jacoco.exe 中正确生成 运行在我的笔记本电脑上执行此语句:

mvn org.jacoco:jacoco-maven-plugin:prepare-agent -Dmaven.test.failure.ignore=true clean verify 

为什么不起作用?

已解决!问题出在操作顺序上。重新排序后,找到 jacoco.exec 文件并将覆盖信息传输到声纳:

sh "${mvnHome}/bin/mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent verify org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar -Dmaven.test.failure.ignore=true -Dsonar.jacoco.reportPaths=${env.WORKSPACE}/target/jacoco.exec"