2016-04-28 4 views
21

Я использую плагин конвейера для jenkins, и я хотел бы генерировать отчет о покрытии кода для каждого прогона и отображать его вместе с конвейером ui. Есть ли плагин, который я могу использовать для этого (например, Cobertura, но он, похоже, не поддерживается конвейером)?Отчет о покрытии кода Cobertura для рабочих заданий для jenkins

+0

Вы должны предоставили дополнительную информацию. Какой язык программирования вы используете? Какой инструмент построения вы предпочитаете? – luka5z

+1

У меня есть python, javascript и другие проекты, и я использую Cobertura для проектов фристайла, чтобы отображать отчеты о покрытии кода. Однако после перехода на конвейер я не получаю пользовательский интерфейс post build для настройки Cobertura для проекта. – ebnius

+1

Проверьте, поддерживается ли ваш плагин (https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md) по заданию Pipeline. – luka5z

ответ

0

Сгенерировать отчет, используя command linecobertura-report в указанной директории и приложить результаты как артефакты.

cobertura-report [--datafile file] --destination dir [--format 
     html|xml] [--encoding encoding] directory [--basedir dir] 
14

Существует способ добавить шаг трубопровода для публикации отчета о покрытии, но он не отображается в интерфейсе BlueOcean. Он будет хорошо отображаться в обычном пользовательском интерфейсе.

pipeline { 
    agent any 

    stages { 
     ... 
    } 
    post { 
     always { 
      junit '**/nosetests.xml' 
      step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: '**/coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false]) 
     } 
    } 
} 

Обратите внимание, что один из параметров для плагина Cobertura является XML, что он будет использовать («**/coverage.xml» в данном примере).

Если вы используете питона, вы хотите использовать что-то вроде:

nosetests --with-coverage --cover-xml --cover-package=pkg1,pkg2 --with-xunit test 
+0

Это происходит после двух дней головной боли. Большое большое спасибо. –