
Пусковият 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 се намира на адрес . На началната страница на Jenkins в горния ляв ъгъл избираме опцията „Управление на Jenkins“:

След това избираме опцията „Управление на плъгини“, отваряме раздела „Достъпни“:

В горния десен ъгъл в полето за филтри въвеждаме „Warnings Next Generation“:

Намираме плъгина в списъка, поставяме отметка отляво и кликваме „Инсталирай без рестарт“:

Ще се отвори страница за инсталиране на плъгините. На нея ще видим резултатите от инсталацията на плъгина:

Създаване на нова задача в Jenkins
Сега ще създадем задача с неограничена конфигурация. На началната страница на Jenkins избираме „Нова елемент“. Въвеждаме името на проекта (например WTM) и избираме опцията „Проект с основна конфигурация“.

Натискаме „Ок“, след което ще се отвори страница за конфигуриране на задачата. В долната част на тази страница в секцията „Действия след изграждането“ отваряме списъка „Добави действие след изграждане“. От списъка избираме „Запис на предупреждения от компилатора и резултатите от статичния анализ“:

В падащото меню на полето „Инструмент“ избираме „PVS-Studio“, след което натискаме бутона за запазване. На страницата на задачата натискаме „Създай сега“, за да създадем папка в workspace в Jenkins за нашата задача:

Получаване на резултатите от изграждането на проекта
Днес в тенденциите на Github ми попадна проект dotnetcore/WTM. Изтеглих го от Github, преместих го в директорията за изграждане WTM в Jenkins и го анализирах в Visual Studio с помощта на анализатора PVS-Studio. Подробно описание на използването на PVS-Studio в Visual Studio е представено в едноименната статия: .
Стартирах изграждането на проекта в Jenkins няколко пъти. В резултат на това вдясно отгоре на страницата на задачата WTM в Jenkins се появи график, а вляво се появи менюто PVS-Studio Warnings:

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

Страница с резултатите
На страницата отпред са разположени две кръгови диаграми. Отдясно на диаграмите е разположен прозорец с графики. Отдолу е таблица.

В лявата кръгова диаграма е показано съотношението на предупрежденията с различни нива на опасност, а в дясната - съотношението на новите, ненаправените и поправените предупреждения. Има три графика. Изборът на показвания график става с помощта на стрелките вляво и вдясно. Първите два графика показват същата информация, както и диаграмите, а третият - изменението в броя на предупрежденията.

Като точки на графиците могат да се изберат сборки или дни.
Също така има възможност да се стеснява и разширява времевият диапазон на графика, за да се видят данни за определен период:

Можете да скриете графици на определени метрики, като щракнете върху обозначението на метриката в легендата на графика:

Графикът след скриването на метриката „Normal“:

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

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

Има възможност за филтриране на данни по реда, въведен в полето „Search“. Пример за филтриране по думата „Base“:

На раздела „Issues“ при щракване върху плюса в началото на реда на таблицата ще се покаже кратко описание на предупреждението:

В краткото описание има линк към сайт с подробна информация относно това предупреждение.
При щракване върху стойностите в колоните „Package“, „Category“, „Type“, „Severity“ се извършва филтриране на данните в таблицата по избраната стойност. Филтриране по категория:

В колоната „Age“ се показва колко сборки са преживели това предупреждение. При щракване върху стойността в колоната „Age“ ще се отвори страницата на сборката, в която за първи път се е появило това предупреждение.
При щракване върху стойността в колоната „File“ ще се отвори изходният код на файла на реда с кода, предизвикал предупреждението. Ако файлът липсва в директорията на сборките или е преместен след създаването на отчета, отварянето на изходния код на файла ще бъде невъзможно.

Заключение
Warnings Next Generation се оказа много удобен инструмент за визуализация на данни в Jenkins. Надяваме се, че поддръжката на PVS-Studio от този плъгин ще бъде от голяма полза за тези, които вече използват PVS-Studio, и ще привлече вниманието на останалите потребители на Jenkins към статичния анализ. И ако вашият избор за статичен анализатор е PVS-Studio, ще сме много радостни. Каним нашия инструмент.
Ако искате да споделите тази статия с англоговоряща аудитория, моля, използвайте линка към превода: Valery Komarov. .
Източник: habr.com
