Я строю простой конвейер CI для моего python кода в Jenkins, используя Jenkinsfile, который в основном выполняет следующие действия:
- Создание тестовой среды и установка зависимостей.
- Текущее состояние c Метрики кода:
- различные необработанные метрики: SLO C, строки комментариев, пустые строки, Cyclomati c Сложность, Индекс обслуживания и т. Д. c.
- тестирует отчеты о покрытии с использованием покрытия
- ошибки и проверка стиля с использованием pylint
- Проверка извлеченного исходного кода (модульное тестирование)
Итак, допустим, у меня есть этот этап, например, для «Статистики c метрик кода»:
...
stage('Static code metrics') {
steps {
echo "Raw metrics"
sh ''' radon raw --json my_python_repo/ > raw_report.json
radon cc --json my_python_repo/ > cc_report.json
radon mi --json my_python_repo/ > mi_report.json
//TODO: add conversion and HTML publisher step
'''
}
}
...
Как вы видите выше, отчеты сохраняются в формате. json. Мне нужно найти способ публиковать sh эти отчеты в наглядной форме на панели инструментов Jenkins. Один из шагов - преобразовать файлы. json в HTML и затем использовать * Плагин 1044 * для публикации sh отчетов, но я не знаю, какой инструмент использовать. Если есть способ решить этот или любой другой способ опубликовать sh эти отчеты на панели управления jenkins, предоставьте решение.
Допустим, содержимое mi_report. json is:
{"my_python_repo/code.py": {"mi": 16.42950884051172, "rank": "B"}, "my_python_repo/test.py": {"mi": 33.532817596089814, "rank": "A"}}