Настройка 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". Прыклад фільтрацыі па слове "Base":

Настройка 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 для integration into PVS-Studio.

Крыніца: habr.com

Дадаць каментар