Создание отчета PEP8 xml для использования Дженкинса/Нарушений
Я установил Cobertura успешно, чтобы работать через Jenkins и создавать отчеты о покрытии, теперь я застрял в настройке "Нарушения", чтобы сообщать результаты тестов pep8.
Сейчас у меня это так, что я запускаю PEP8 с пакетной командой, и он генерирует .txt файл, в котором хранятся все нарушения, которые заканчиваются в рабочей области.
Должен ли я определять командные команды для создания xml файла для этих нарушений для отправки в действие Post-build Нарушения отчета? Если да, как бы я определил эту команду?
Ответы
Ответ 1
Как указывает Вайк, вам не нужен XML файл. Вы можете просто передать вывод утилиты pep8 в файл и использовать это как файл нарушений в Jenkins.
Например, в вашей конфигурации сборки Jenkins в разделе:
Build -> Execute Shell -> Command
вы можете написать:
pep8 path/to/code > pep8_report.txt
И затем под:
Post-build Actions -> Report Violations -> pep8 / XML filename pattern
добавить:
pep8_report.txt
Обратите внимание, что даже если пользовательский интерфейс запрашивает XML файл, а файл не является файлом XML, это отлично работало для меня на Jenkins версии 1.499.
Ответ 2
Я вижу этот очень старый вопрос, но у меня было много проблем, чтобы найти ответ на этот вопрос, так что, надеюсь, это поможет другим.
После многих исследований я обнаружил, что плагин Jenkins Violations не нравится./бит перед каждой строкой, поэтому просто синтаксический анализ вывода pep8 (он также действителен для flake8) сделает трюк:
pep8 . | 's|^./||' | tee pep.txt
Важным битом является sed, который изменяет вхождения./в начале строки (^) в '', эффективно удаляя их
Тестовый бит является обходным путем, чтобы избежать остановки Jenkins, если вывод команды pep8 отличен от нуля.