Я переместил свою работу с одного компьютера Hudson в среду с несколькими подчиненными устройствами Jenkins, и теперь покрытие JaCoCo больше не работает.
РАБОТА (старая версия): Hudson 2.0.1, Jenkins Sonar Plugin 1.7.1, Sonar 2.1.2
BROKEN (новый): Jenkins 1.446, Jenkins Sonar Plugin 1.7.2, Sonar 2.1.2
Мое задание Hudson называется Pinnacle и используется для запуска на одномСервер Hudson с сонаром на одной машине.Я настроил свою сборку (NO MAVEN), выполнив следующие действия.
1) Добавил цель Ant в мой build.xml с именем test-with-coverage
2) Сконфигурировал задание Pinnacle в Гудзоне для«вызвать автономный анализ сонара» со следующими свойствами:
sonar.projectKey=com.skyboximaging:pinnacle
sonar.projectName="Pinnacle"
sonar.projectVersion=1.0
sources=Pinnacle/src/java
tests=Pinnacle/test/java
binaries=Pinnacle/classes
sonar.jacoco.reportPath=Pinnacle/jacoco.exec
sonar.jacoco.antTargets=test-with-coverage
(обратите внимание, что код извлекается в каталог Pinnacle в рабочей области задания Jenkins.)
3) Общие настройки «Сонар»"использовать JaCoCo для покрытия кода
Все работало прекрасно!
Но в новой среде Jenkins я вижу эту ошибку в выводе сборки Jenkins:
23:15:17.863 INFO Sensor JaCoCoSensor...
23:15:17.868 INFO Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/workspace/Pinnacle/Pinnacle/jacoco.exec
ЭтоФайл не существует на ведомом устройстве, где выполнялась сборка.(Каталог / var / lib / jenkins / workspace / Pinnacle / Pinnacle действительно существует.)
Все остальные датчики (FindBugs, PMD и т. Д.) Работают нормально.Просто JaCoCo не работает.
Работает ли Sonar / JaCoCo даже в среде нескольких подчиненных Jenkins?
Я подозреваю, что задача Ant test-with-coverage
не запускается.Как Sonar находит build.xml?А чем отличаются старые и новые установки?