
Релиз 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“, след което натискаме бутона 'Запази'. На страницата на задачата натискаме „Изграждане сега“, за да се създаде папка в работното пространство на 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
