Я использую плагин конвейера для jenkins, и я хотел бы генерировать отчет о покрытии кода для каждого прогона и отображать его вместе с конвейером ui. Есть ли плагин, который я могу использовать для этого (например, Cobertura, но он, похоже, не поддерживается конвейером)?Отчет о покрытии кода Cobertura для рабочих заданий для jenkins
ответ
Сгенерировать отчет, используя command linecobertura-report
в указанной директории и приложить результаты как артефакты.
cobertura-report [--datafile file] --destination dir [--format
html|xml] [--encoding encoding] directory [--basedir dir]
Существует способ добавить шаг трубопровода для публикации отчета о покрытии, но он не отображается в интерфейсе 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
Это происходит после двух дней головной боли. Большое большое спасибо. –
Вы должны предоставили дополнительную информацию. Какой язык программирования вы используете? Какой инструмент построения вы предпочитаете? – luka5z
У меня есть python, javascript и другие проекты, и я использую Cobertura для проектов фристайла, чтобы отображать отчеты о покрытии кода. Однако после перехода на конвейер я не получаю пользовательский интерфейс post build для настройки Cobertura для проекта. – ebnius
Проверьте, поддерживается ли ваш плагин (https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md) по заданию Pipeline. – luka5z