我的项目Pensky在我的Jenkins服务器上有两个构建作业。 First Build作业执行maven构建并收集关于Post Build Action的JaCoCo Code覆盖率报告。
我的第二个构建工作在我的项目上运行声纳分析。我想重用/将JaCoCo代码覆盖率报告提供给我的声纳。但是,无法这样做。我在构建作业控制台中看到以下消息
“项目覆盖率设置为0%,因为构建输出目录没有 存在:“
声纳工作正在.sonar目录中找到'classes'文件夹(在jenkins作业目录中)。
任何人都可以指导我如何将报告提供给Sonar。谢谢
这是我的sonar.properties
sonar.projectKey=Pensky
sonar.projectName=Pensky
sonar.projectVersion=1.1
sonar.projectDescription= GE Pensky
sonar.sources=src/main/java
sonar.tests=src/test/java
sonar.language=java
sonar.my.property=value
sonar.forceAnalysis=true
sonar.jacoco.reportPath=target/jacoco.exec
答案 0 :(得分:2)
你还没有设置" sonar.binaries"属性指向构建目录(="目标/类"如果使用Maven编译它)。
答案 1 :(得分:1)
首先,您应该复制第一份作业的文件夹目标,以节省时间。如果这样做,您将拥有作业的工作区,所有二进制文件和jacoco.exec文件。
然后,您必须设置测试结果的文件夹。
sonar.junit.reportsPath = target / surefire-reports(或其他) sonar.jacoco.ReportPath =目标/ jacoco.exec
最后,你必须设置二进制文件夹。
sonar.binaries =目标/类
希望我能提供帮助。