无法在SonarQube for Maven项目上看到代码覆盖率

时间:2019-07-08 08:32:11

标签: maven sonarqube jenkins-pipeline jacoco

我正在研究Maven项目,我想在SonarQube服务器上查看代码覆盖率。我的代码在Kotlin中,我正在使用Jenkins构建所有内容。

我的问题是,在SonarQube的“代码覆盖率”部分下看不到任何东西。

有人可以告诉我我做错了什么吗?

我为此检查了视频,并尝试相应地更改我的POM文件。

更新:

我可以在本地计算机上生成代码覆盖率的index.html报告,但是现在我想在SonarQube上看到它。我相应地更改了POM文件,并可以生成报告。

现在有人可以告诉我如何在SonarQube服务器上获取该报告吗?

下面是我的Jenkinsfile:

   #!groovy

pipeline {
  agent any
  stages{
    stage('SonarQube Analysis'){
      steps{
        withSonarQubeEnv('otd-sonar') {
          sh 'mvn clean verify sonar:sonar'
        }
      }
    }
    stage('Test Stage'){
      steps{
          sh 'mvn clean test'
      }
    }
    stage('Package Stage'){
      steps{
        sh 'mvn clean package'
      }
    }

下面是我的POM文件:

    <properties>
        <sonar.java.codeCoveragePlugin>jacoco</sonar.java.codeCoveragePlugin>
        <sonar.jacoco.reportPath>target/jacoco.exec</sonar.jacoco.reportPath>
        <sonar.jacoco.itReportPath>target/jacoco-it.exec</sonar.jacoco.itReportPath>
        <!-- Sonar configuration -->
        <jacoco.report.ut>${project.build.directory}/jacoco-ut.exec</jacoco.report.ut>
        <jacoco.report.it>${project.build.directory}/jacoco-it.exec</jacoco.report.it>
        <sonar.jacoco.reportPaths>${jacoco.report.ut},${jacoco.report.it}</sonar.jacoco.reportPaths>
        <jacoco.plugin.version>0.8.1</jacoco.plugin.version>
    </properties>
    <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.9</version>
            <executions>
                <execution>
                    <id>jacoco-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
                <execution>
                    <id>post-unit-test</id>
                    <phase>test</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                    <configuration>
                        <dataFile>target/jacoco.exec</dataFile>
                        <outputDirectory>target/jacoco-ut</outputDirectory>
                    </configuration>
                </execution>
            </executions>
            <configuration>
                <systemPropertyVariables>
                    <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
                </systemPropertyVariables>
            </configuration>
    </plugin>

0 个答案:

没有答案