Как заставить Jenkins, Sonar и плагин JaCoCo работать вместе для Проекты плагинов Eclipse Tycho (или, может быть, Cobertura)?

моя установка:

  • Jenkins 1.448
  • Sonar 2.13
  • Jenkins Sonar Plugin 1.72
  • База данных MySql для Sonar

У меня есть следующий проект:

  • Проект плагина Eclipse
  • с использованием нескольких модулей Maven
  • (родительский проект maven, проект исходного плагина, проект тестового фрагмента)
  • простой тест JUnit, тестирующий класс исходного проекта плагина

Каков процесс в настоящий момент:

  • Дженкинс проверяет родительский проект из SVN
  • Дженкинс строит проект и его модули, используя Maven и Tycho
  • Jenkins использует Surefire для выполнения тестов и создания отчета
  • Jenkins использует плагин Jenkins Sonar для запуска mvn sonar: sonar для выполнения анализа кода
  • Статический анализ кода выполняется для каждого модуля
  • JaCoCo не работает

Сонар имеет доступную статистику статического анализа кода и показывает процент успешных испытаний. Единственное, чего не хватает, - это покрытия кода JaCoCo ... или, может быть, даже покрытия кода Cobertura.

Меня это особо не волнует, я просто хочу, чтобы одна из этих вещей дала результаты покрытия кода.

Cobertura, похоже, не может дать результатов, возможно, потому что либо - он не может инструментировать код - ищет инструментальный код не в том месте - он не может справиться с Tycho или отдельной настройкой исходного / тестового кода

JaCoCo должен иметь возможность «наблюдать» за покрытием кода на лету, но его вывод

[INFO] [17:44:04.708] Sensor JaCoCoSensor...
[INFO] [17:44:04.717] Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/jobs/testPlugin/workspace/testSource/target/jacoco.exec
[INFO] [17:44:04.854] Sensor JaCoCoSensor done: 146 ms

[INFO] [17:44:10.587] Sensor JaCoCoSensor...
[INFO] [17:44:10.587] Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/jobs/testPlugin/workspace/testTest/target/jacoco.exec
[INFO] [17:44:10.631] Sensor JaCoCoSensor done: 44 ms

[INFO] [17:44:12.402] Sensor JaCoCoSensor...
[INFO] [17:44:12.402] Project coverage is set to 0% as build output directory doesn't exists: /var/lib/jenkins/jobs/testPlugin/workspace/testParent/target/classes
[INFO] [17:44:12.402] Sensor JaCoCoSensor done: 0 ms

Что я делаю не так? Нужно ли мне где-нибудь включать JaCoCo в моем pom.xml? Нужен ли мне верный огонь? Что мне нужно сделать, чтобы использовать Cobertura?

8
задан danowar 20 January 2012 в 16:01
поделиться