Настройка Warnings Next Generation плагина для интеграции PVS-Studio

в 7:21, , рубрики: ci, devops, Jenkins, Jenkins CI, open source, plugin, plugins, pvs-studio, pvs-studio free, PVS-Studo, pvsstudio, static code analysis, warnings, Блог компании PVS-Studio, Тестирование IT-систем, управление разработкой
Picture 4

Релиз PVS-Studio 7.04 совпал c релизом плагина Warnings Next Generation 6.0.0 для Jenkins. Как раз в этом релизе Warnings NG Plugin добавил поддержку статического анализатора PVS-Studio. Этот плагин визуализирует данные о предупреждениях компилятора или других инструментов анализа в Jenkins. В этой статье будет подробно рассказано как установить и настроить данный плагин для использования с PVS-Studio, а также описано большинство его возможностей.

Установка Warning Next Generation Plugin в Jenkins

По умолчанию Jenkins находится по адресу http://localhost:8080. На главной странице Jenkins слева вверху выбираем пункт «Manage Jenkins»:

Picture 1

Далее выбираем пункт «Manage Plugins», открываем закладку «Available»:

Picture 8

В правом верхнем углу в поле фильтра вводим «Warnings Next Generation»:

Picture 3

Находим плагин в списке, ставим слева галочку и жмем «Install without restart»:

Picture 14

Откроется страница установки плагинов. На ней мы увидим результаты установки плагина:

Picture 5

Создание новой задачи в Jenkins

Теперь создадим задачу со свободной конфигурацией. На главной странице Jenkins выберем «New Item». Введем имя проекта (например, WTM) и выберем пункт «Freestyle project».

Picture 6

Нажмем «Ок», после чего откроется страница настройки задачи. Внизу этой страницы в пункте «Post-build Actions» открываем список «Add post-build action». В списке выбираем «Record compiler warnings and static analysis results»:

Picture 7

В выпадающем списке поля «Tool» выбираем «PVS-Studio», после этого жмем кнопку сохранить. На странице задачи жмем «Build Now», чтобы создалась папка в workspace в Jenkins для нашей задачи:

Picture 18

Получение результатов сборки проекта

Сегодня в трендах Github мне попался проект dotnetcore/WTM. Я загрузил его с Github, закинул в сборочную директорию WTM в Jenkins и проанализировал в Visual Studio при помощи анализатора PVS-Studio. Подробное описание использования PVS-Studio в Visual Studio представлено в одноименной статье: PVS-Studio для Visual Studio.

Запустил сборку проекта в Jenkins пару раз. В результате справа вверху на странице задачи WTM в Jenkins появился график, а слева появился пункт меню PVS-Studio Warnings:

Picture 2

При нажатии на график или этот пункт меню открывается страница с визуализацией отчета анализатора PVS-Studio плагином Warnings Next Generation:

Picture 24

Страница с результатами

На странице сверху расположены две круговые диаграммы. Справа от диаграмм расположено окно графиков. Внизу расположилась таблица.

Picture 25

На левой круговой диаграмме отображается соотношение предупреждений разного уровня опасности, на правой – соотношение новых, не исправленных и исправленных предупреждений. Имеется три графика. Выбор отображаемого графика происходит при помощи стрелок слева и справа. Первые два графика отображают ту же информацию, что и диаграммы, а третий — изменение количества предупреждений.

Picture 26

В качестве точек графиков можно выбрать сборки или дни.

Также имеется возможность сужать и расширять временной диапазон графика, чтобы увидеть данные за определенный промежуток:

Picture 27

Можно скрывать графики определенных метрик по нажатию на обозначение метрики в легенде графика:

Picture 28

График после сокрытия метрики «Normal»:

Picture 29

Внизу расположена таблица, отображающая данные отчета анализатора. При нажатии на сектор круговой диаграммы происходит фильтрация таблицы:

Picture 30

В таблице имеется несколько закладок для фильтрации данных. В данном примере доступна фильтрация по namespace, файлу, категории (имя предупреждения). В таблице можно выбрать, какое количество предупреждений отображать на одну страницу (10, 25, 50, 100):

Picture 32

Имеется возможность фильтрации данных по строке, введенной в поле «Search». Пример фильтрации по слову «Base»:

Picture 33

На закладке «Issues» при нажатии на плюсик в начале строки таблицы отобразится краткое описание предупреждения:

Picture 34

В кратком описании содержится ссылка на сайт с подробной информацией по данному предупреждению.

При нажатии на значения в столбцах «Package», «Category», «Type», «Severity» происходит фильтрация данных таблицы по выбранному значению. Фильтрация по категории:

Picture 36

В столбце «Age» отображается сколько сборок пережило данное предупреждение. При нажатии на значение в столбце «Age» будет открыта страница сборки, в которой впервые появилось это предупреждение.

При нажатии на значение в столбце «File» будет открыт исходный код файла на строке с кодом, вызвавшим предупреждение. Если файл отсутствует в сборочной директории или был перемещен после создания отчета, открытие исходного кода файла окажется невозможным.

Picture 37

Заключение

Warnings Next Generation оказался очень удобным инструментом визуализации данных в Jenkins. Надеемся, что поддержка PVS-Studio этим плагином очень поможет тем, кто уже использует PVS-Studio, а также привлечет внимание к статическому анализу остальных пользователей Jenkins. И если в качестве статического анализатора ваш выбор падёт на PVS-Studio, мы будем очень рады. Приглашаем скачать и попробовать наш инструмент.

Настройка Warnings Next Generation плагина для интеграции PVS-Studio - 23

Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Valery Komarov. Configuration of the Warnings Next Generation plugin for integration into PVS-Studio.

Автор: Valery Komarov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js