Публикация отчетов Stati c Code Metri c в Jenkins с использованием декларативного конвейера (Jenkinsfile) - PullRequest
0 голосов
/ 07 февраля 2020

Я строю простой конвейер CI для моего python кода в Jenkins, используя Jenkinsfile, который в основном выполняет следующие действия:

  1. Создание тестовой среды и установка зависимостей.
  2. Текущее состояние c Метрики кода:
    • различные необработанные метрики: SLO C, строки комментариев, пустые строки, Cyclomati c Сложность, Индекс обслуживания и т. Д. c.
    • тестирует отчеты о покрытии с использованием покрытия
    • ошибки и проверка стиля с использованием pylint
  3. Проверка извлеченного исходного кода (модульное тестирование)

Итак, допустим, у меня есть этот этап, например, для «Статистики 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"}}

1 Ответ

1 голос
/ 08 февраля 2020

Не существует готового к Jenkins инструмента для публикации sh custom JSON как HTML. Но вы можете использовать плагин warnings для публикации sh ваших метрик способом Дженкинса. Здесь небольшая инструкция о том, как настроить Jenkins для разбора радоновых отчетов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...