Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio
Реліз PVS-Studio 7.04 збігся з релізом плагіна 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»:

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Далі вибираємо пункт "Manage Plugins", відкриваємо закладку "Available":

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Відкриється сторінка встановлення плагінів. На ній ми побачимо результати встановлення плагіна:

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Створення нового завдання в Jenkins

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Натисніть "Ок", після чого відкриється сторінка налаштування завдання. Внизу цієї сторінки в пункті Post-build Actions відкриваємо список «Add post-build action». У списку вибираємо "Record compiler warnings and static analysis results":

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

У списку поля «Tool» вибираємо «PVS-Studio», після цього тиснемо кнопку зберегти. На сторінці завдання тиснемо «Build Now», щоб створити папку в workspace в Jenkins для нашого завдання:

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Отримання результатів складання проекту

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

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

При натисканні на графік або пункт меню відкривається сторінка з візуалізацією звіту аналізатора PVS-Studio плагіном Warnings Next Generation:

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Сторінка з результатами

На сторінці зверху розташовані дві кругові діаграми. Праворуч від діаграм розташовано вікно графіків. Унизу розташувалася таблиця.

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Як точки графіків можна вибрати складання або дні.

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Можна приховувати графіки певних метриків за натисканням на позначення метрики в легенді графіка:

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Графік після приховування метрики "Normal":

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Внизу розташована таблиця, що відображає дані звіту аналізатора. При натисканні сектор кругової діаграми відбувається фільтрація таблиці:

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Короткий опис містить посилання на сайт з детальною інформацією щодо цього попередження.

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

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

У стовпці «Age» відображається скільки збірок пережило це попередження. При натисканні на значення в стовпці «Age» буде відкрито сторінку збирання, в якій вперше з'явилося це попередження.

При натисканні на значення в стовпці "File" буде відкритий вихідний код файлу на рядку з кодом, що спричинив попередження. Якщо файл відсутній у складальній директорії або був переміщений після створення звіту, відкриття вихідного коду файлу виявиться неможливим.

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Висновок

Warnings Next Generation виявився дуже зручним інструментом візуалізації даних у Jenkins. Сподіваємося, що підтримка PVS-Studio цим плагіном допоможе тим, хто вже використовує PVS-Studio, а також приверне увагу до статичного аналізу інших користувачів Jenkins. І якщо як статичний аналізатор ваш вибір паде на PVS-Studio, ми будемо дуже раді. Запрошуємо скачати та спробувати наш інструмент.

Налаштування Warnings Next Generation плагіна для інтеграції PVS-Studio

Якщо хочете поділитися цією статтею з англомовною аудиторією, прошу використати посилання на переклад: Valery Komarov. Configuration of the Warnings Next Generation plugin for integration in PVS-Studio.

Джерело: habr.com

Додати коментар або відгук