詹金斯+声纳

时间:2014-07-16 19:04:40

标签: maven jenkins sonarqube

我的项目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

2 个答案:

答案 0 :(得分:2)

你还没有设置" sonar.binaries"属性指向构建目录(="目标/类"如果使用Maven编译它)。

答案 1 :(得分:1)

首先,您应该复制第一份作业的文件夹目标,以节省时间。如果这样做,您将拥有作业的工作区,所有二进制文件和jacoco.exec文件。

然后,您必须设置测试结果的文件夹。

sonar.junit.reportsPath = target / surefire-reports(或其他) sonar.jacoco.ReportPath =目标/ jacoco.exec

最后,你必须设置二进制文件夹。

sonar.binaries =目标/类

希望我能提供帮助。