Невозможно увидеть покрытие кода в проекте SonarQube для Maven - PullRequest
0 голосов
/ 08 июля 2019

Я работаю над проектом Maven, где хочу увидеть покрытие кода на сервере SonarQube. Мой код написан на Kotlin, и я использую Jenkins для сборки всего.

Моя проблема в том, что я не вижу ничего в разделе покрытия кода в SonarQube.

Может кто-нибудь сказать мне, что я делаю не так?

Я проверил видео для этого и попытался изменить свой файл POM соответственно.

UPDATE:

Я мог бы создать отчет 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>
...