Я работаю над проектом 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>