SonarQube. Не удается отобразить покрытие кода

Я хочу, чтобы мой сонар (версия 6.1) отображал покрытие кода моего проекта. Я настроил JaCoCo и могу генерировать CodeCoverage локально на моем компьютере с помощью команды

мвн чистый пакет

но я не могу загрузить репортаж в Sonar. Для этого я использую следующую команду:

mvn -Dsonar.login = -Dsonar.password= -Dsonar.host.url= -Dsonar.projectKey= чистый сонар пакета:sonar -Psonar -Ptomcat

Вот настройка JaCoco в pom.xml

<plugin>
  <groupId>org.jacoco</groupId>
  <artifactId>jacoco-maven-plugin</artifactId>
  <version>${jacoco.plugin.version}</version>
  <configuration>
    <destFile>${basedir}/target/coverage-reports/jacoco-unit.exec</destFile>
    <dataFile>${basedir}/target/coverage-reports/jacoco-unit.exec</dataFile>
  </configuration>
  <executions>
    <execution>
      <id>jacoco-initialize</id>
      <goals>
        <goal>prepare-agent</goal>
      </goals>
    </execution>
    <execution>
      <id>jacoco-site</id>
      <phase>package</phase>
      <goals>
        <goal>report</goal>
      </goals>
    </execution>
  </executions>
</plugin>

И я вижу следующий вывод:

[INFO] -------------  Scan risk
[INFO] Language is forced to java
[INFO] Base dir: F:\repo\orchestrator
[INFO] Working dir: F:\repo\orchestrator\target\sonar
[INFO] Source encoding: UTF-8, default locale: ru_RU
[INFO] Quality profile for java: Sonar way
[INFO] Sensor Lines Sensor
[INFO] Sensor Lines Sensor (done) | time=0ms
[INFO] Sensor SCM Sensor
[INFO] Sensor SCM Sensor (done) | time=0ms
[INFO] Sensor Embedded CSS Analyzer Sensor
[INFO] 0 source files to be analyzed
[INFO] Sensor Embedded CSS Analyzer Sensor (done) | time=1ms
[INFO] Sensor Coverage Report Import
[INFO] Sensor Coverage Report Import (done) | time=0ms
[INFO] Sensor Coverage Report Import
[INFO] Sensor Coverage Report Import (done) | time=0ms
[INFO] Sensor Unit Test Results Import
[INFO] Sensor Unit Test Results Import (done) | time=0ms
[INFO] Sensor XmlFileSensor
[INFO] Sensor XmlFileSensor (done) | time=0ms
[INFO] Sensor Zero Coverage Sensor
[INFO] Sensor Zero Coverage Sensor (done) | time=0ms
[INFO] Sensor Code Colorizer Sensor
[INFO] Sensor Code Colorizer Sensor (done) | time=0ms
[INFO] Sensor CPD Block Indexer
[INFO] JavaCpdBlockIndexer is used for java
[INFO] 0/0 source files have been analyzed
[INFO] Sensor CPD Block Indexer (done) | time=0ms
[INFO] Calculating CPD for 592 files
[INFO] CPD calculation finished
[INFO] Analysis report generated in 20712ms, dir size=5 MB
[INFO] Analysis reports compressed in 2506ms, zip size=3 MB
[INFO] Analysis report uploaded in 2704ms
[INFO] ANALYSIS SUCCESSFUL, you can browse http://URL/dashboard/index/<ProductId>:parent
[INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
[INFO] More about the report processing at http://URL/api/ce/task?id=AV68su2eddnYVrlQ9oP-
[INFO] Task total time: 1:36.284 s

Было бы здорово получить дополнительную информацию о публикации Code Coverage в Sonar. Любые предложения / советы будут высоко оценены. Thanx!

1 ответ

Решение

Несколько вещей, которые могли пойти не так, как надо здесь. Первое, что выглядит подозрительно, это то, что Sonar сообщает о 0 файлах для анализа. Он не будет загружать покрытие для файлов, которые он не анализировал.

Это может быть вызвано вашим неправильно определенным профилем. mvn-P Опция принимает список через запятую. Шансы твои вторые -Ptomcat переопределил первый -Psonar, Лучше использовать -Psonar,tomcat,

Также убедитесь, что вы запускаете команду в корне проекта (где pom.xml должен лежать) и что на вашем сервере Sonar установлены и правильно настроены плагины Java и Coverage. Например, настройки покрытия кода на сервере не должны исключать файлы Java.

Я бы также использовал validate вместо package так что ваши интеграционные тесты (отказоустойчивый плагин) тоже запускаются.


придирки:

-Dsonar.projectKey=< productKey > не требуется, если вы используете Maven, за исключением того, что вы хотите переопределить имя проекта по умолчанию из вашего pom.xml,

Другие вопросы по тегам