
A PVS-Studio 7.04 kiadása egybeesett a Jenkins Warnings Next Generation 6.0.0 pluginjának kiadásával. Ebben a kiadásban a Warnings NG Plugin hozzáadta a PVS-Studio statikus elemző támogatását. Ez a plugin vizualizálja a fordító vagy más elemző eszközök által generált figyelmeztetések adatait a Jenkinsben. Ebben a cikkben részletesen bemutatjuk, hogyan telepíthetjük és állíthatjuk be ezt a plugint a PVS-Studio használatához, valamint a lehetőségeinek többségét is leírjuk.
Warnings Next Generation Plugin telepítése Jenkinsben
Alapértelmezés szerint a Jenkins elérhető a címen. A Jenkins főoldalán a bal felső sarokban válasszuk a "Manage Jenkins" opciót:

Ezután válasszuk a "Manage Plugins" opciót, majd nyissuk meg az "Available" fül alatt:

A jobb felső sarokban a szűrőmezőbe írjuk be a "Warnings Next Generation" kifejezést:

A listában megtaláljuk a plugint, a bal oldalon bejelöljük a négyzetet, majd rákattintunk az "Install without restart" gombra:

Megnyílik a plugin telepítési oldala. Ezen láthatjuk a plugin telepítési eredményeit:

Új feladat létrehozása Jenkinsben
Most egy szabad konfigurációjú feladatot fogunk létrehozni. A Jenkins főoldalán válasszuk az "New Item" lehetőséget. Írjuk be a projekt nevét (például WTM), és válasszuk a "Freestyle project" opciót.

Kattintsunk az "Ok" gombra, majd megnyílik a feladat beállítási oldala. Ezen az oldalon alul, a "Post-build Actions" részben nyissuk meg az "Add post-build action" listát. A listában válasszuk a "Record compiler warnings and static analysis results" lehetőséget:

A "Tool" mező legördülő menüjében válasszuk a "PVS-Studio" opciót, majd kattintsunk a mentés gombra. A feladat oldalán nyomjuk meg a "Build Now" gombot, hogy létrejöjjön egy mappa a Jenkins workspace-ben a feladatunk számára:

A projekt build eredményeinek megszerzése
Ma a Github trendjeiben rábukkantam a dotnetcore/WTM projektre. Letöltöttem Githubról, áthelyeztem a WTM build mappájába Jenkinsben, és a PVS-Studio elemző segítségével elemeztem a Visual Studio-ban. A PVS-Studio Visual Studio-ban való használatának részletes leírását az azonos című cikk tartalmazza: .
A projekt buildelését Jenkinsben párszor futtattam. Ennek eredményeképpen a WTM feladat oldalán, jobbra fent megjelent egy grafikon, balra pedig egy menüpont: PVS-Studio Warnings:

A grafikonra kattintva vagy a menüpontra kattintva megnyílik egy oldal a PVS-Studio elemző jelentésének vizualizálásáról a Warnings Next Generation plugin által:

Eredmények oldala
Az oldalon felül két kördiagram található. A diagramok mellett egy grafikonok ablak található. Alul pedig egy táblázat került elhelyezésre.

A bal oldali kördiagram a különböző veszélyességi szintű figyelmeztetések arányát mutatja, míg a jobb oldali a új, nem javított és javított figyelmeztetések arányát. Három grafikon található. Az aktuális grafikon kiválasztása a bal és jobb oldalon található nyilakkal történik. Az első két grafikon ugyanazt az információt mutatja, mint a diagramok, míg a harmadik a figyelmeztetések számának változását ábrázolja.

A grafikonok pontjaként választhatók építkezések vagy napok.
Lehetőség van a grafikon időtartamának szűkítésére és kiterjesztésére is, hogy egy adott időszak adatait megtekinthessük:

Lehetőség van bizonyos metrikák grafikonjának elrejtésére a grafikon jelmagyarázatában található metrika jelzéseinek megnyomásával:

A grafikon a 'Normal' metrika elrejtése után:

Alul található egy tábla, amely az elemző jelentés adatait mutatja. A kördiagram szegmensére kattintva a táblázat szűrhető:

A táblázat több füllel rendelkezik az adatok szűrésére. Ebben a példában a namespace, a fájl, a kategória (figyelmeztetés neve) szerinti szűrés érhető el. A táblázatban választható, hogy hány figyelmeztetést kívánunk megjeleníteni egy oldalon (10, 25, 50, 100):

Lehetőség van az adatok szűrésére a 'Search' mezőbe beírt szöveg alapján. Példa a 'Base' szóra történő szűrésre:

A 'Issues' fülön, ha a táblázat sorának elején található + jelre kattintunk, egy rövid leírás jelenik meg a figyelmeztetésről:

A rövid leírás tartalmaz egy linket, amely részletes információt nyújt a figyelmeztetésről.
Egyes oszlopokban található értékek, mint 'Package', 'Category', 'Type', 'Severity' megnyomásával a táblázat adatainak szűrése a kiválasztott érték szerint történik. Szűrés a kategória szerint:

A 'Age' oszlopban látható, hogy hány építkezés élte túl a figyelmeztetést. Ha az 'Age' oszlopban található értékre kattint, megnyílik az az építkezés oldala, ahol a figyelmeztetés először megjelent.
Ha a 'File' oszlopban található értékre kattint, megnyílik a fájl forráskódja azon a soron, ahol a figyelmeztetést kiváltó kód található. Ha a fájl hiányzik az építési könyvtárból vagy a jelentés létrehozása óta áthelyezték, a fájl forráskódjának megnyitása lehetetlenné válik.

Zárás
A Warnings Next Generation egy nagyon kényelmes adatvizualizáló eszköz a Jenkinsben. Reméljük, hogy a PVS-Studio támogatása ezzel a pluginnal nagy segítséget nyújt azoknak, akik már használják a PVS-Studio-t, és felhívja a figyelmet a statikus elemzésre más Jenkins felhasználók számára is. Ha a PVS-Studio lesz a választásod statikus elemzőként, örömmel fogadjuk. Kérjük, hogy a mi eszközünket.
Ha szeretnéd megosztani ezt a cikket angol nyelvű közönséggel, kérlek, használd a fordítás linkjét: Valery Komarov. .
Forrás: habr.com
