Вы должны убедиться, что при компиляции кода Java или Groovy etc опция debug включена. Я использую Gradle (вместо Maven) и для включения опции debug, я делаю что-то вроде этого в Gradle. Вы можете поместить следующий код в файл build.gradle OR верхнего уровня $ GRADLE_HOME/init.d/some-global.gradle (внутри раздела allprojects {...}).
tasks.withType(JavaCompile) {
options.debug = true
options.compilerArgs = ["-g"]
}
tasks.withType(GroovyCompile) {
options.debug = true
}
Сделайте то же самое в Maven (как включить опцию отладки на использовании -g для Java и верно для проектов на основе Groovy).
После этого все, что вам нужно, это убедиться, что ваши параметры sonar.xx.yyy установлены правильно при вызове сонара (например, sonarRunner task in Gradle).
Я установил эти переменные как (UT для модульных тестов, IT для интеграционных тестов). Покрытие кода ИТ будет генерироваться только в том случае, если вы присоедините jacocoagent.jar к Tomcat/внешнему JVM (вместо того, что JVM Gradle/Maven), который запускает файл .war/.ear вашего приложения.
-Dsonar.jacoco.itReportPath=build/jacoco/IT/jacocoIT.exec
-Dsonar.jacoco.reportPath=build/jacoco/UT/jacocoUT.exec
Есть и другие переменные sonar.xx.yy, которые вы можете видеть в Интернете/документах.
В Maven, вы можете включить Java отладку на использование этого:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<debug>true</debug>
<debuglevel>lines,vars,source</debuglevel>
</configuration>
</plugin>
Каких команд управляют вашей Дженкинс, чтобы построить свой проект? это команда, аналогичная той, которую вы запускаете на вашей локальной машине? вы можете найти отчет jacoco, созданный jenkins build в рабочем пространстве jenkins? – benzonico
Можете ли вы опубликовать более подробный журнал, чтобы мы могли видеть, что происходит. Кроме того, почему вы используете Jacoco отдельно от SonarQube? SonarQube встроен в Jacoco для своих собственных показателей покрытия кода. – Seb