
Izdavanje PVS-Studio 7.04 poklopilo se s izdanjem Warnings Next Generation 6.0.0 plugina za Jenkins. U ovom izdanju Warnings NG Plugin dodaje podršku za statički analizator PVS-Studio. Ovaj plugin vizualizira podatke o upozorenjima kompajlera ili drugih alata za analizu unutar Jenkinsa. U ovom članku bit će detaljno objašnjeno kako instalirati i konfigurirati ovaj plugin za korištenje s PVS-Studio, kao i opisan će biti većina njegovih mogućnosti.
Instalacija Warning Next Generation Plugina u Jenkins
Prema zadanim postavkama Jenkins se nalazi na adresi . Na glavnoj stranici Jenkinsa, u gornjem lijevom kutu odabiremo stavku „Manage Jenkins“:

Zatim odabiremo stavku „Manage Plugins“, otvaramo karticu „Available“:

U gornjem desnom kutu u polje filtra upisujemo „Warnings Next Generation“:

Nalazimo plugin na popisu, stavljamo kvačicu s lijeve strane i kliknemo „Install without restart“:

Otvorit će se stranica za instalaciju plugina. Na njoj ćemo vidjeti rezultate instalacije plugina:

Kreiranje novog zadatka u Jenkinsu
Sada ćemo kreirati zadatak s slobodnom konfiguracijom. Na glavnoj stranici Jenkinsa odabiremo „New Item“. Unosimo ime projekta (na primjer, WTM) i biramo stavku „Freestyle project“.

Kliknemo „Ok“, nakon čega će se otvoriti stranica za postavke zadatka. Na dnu ove stranice u stavci „Post-build Actions“ otvaramo popis „Add post-build action“. U popisu odabiremo „Record compiler warnings and static analysis results“:

U padajućem popisu polja „Tool“ odabiremo „PVS-Studio“, nakon čega kliknemo gumb za spremanje. Na stranici zadatka kliknemo „Build Now“, kako bismo stvorili mapu u radnom prostoru Jenkinsa za naš zadatak:

Dobivanje rezultata izgradnje projekta
Danas mi je na Github trendovima zapao projekt dotnetcore/WTM. Preuzeo sam ga s Github-a, prebacivši ga u mapu za izgradnju WTM u Jenkinsu i analizirao ga u Visual Studio uz pomoć analizatora PVS-Studio. Detaljan opis korištenja PVS-Studio u Visual Studio predstavljen je u istoimenom članku: .
Pokrenuo sam izgradnju projekta u Jenkinsi nekoliko puta. Kao rezultat, u gornjem desnom kutu stranice zadatka WTM u Jenkinsu pojavio se grafikon, a s lijeve strane se pojavila stavka izbornika PVS-Studio Warnings:

Klikom na grafikon ili ovu stavku izbornika otvara se stranica s vizualizacijom izvještaja analizatora PVS-Studio putem plugina Warnings Next Generation:

Stranica s rezultatima
Na stranici se na vrhu nalaze dva kružna dijagrama. Desno od dijagrama nalazi se prozor s grafikonima. Ispod se nalazi tablica.

Na lijevom kružnom dijagramu prikazan je omjer upozorenja različitih razina opasnosti, dok desni dijagram prikazuje omjer novih, neispravljenih i ispravljenih upozorenja. Postoje tri grafikona. Odabir prikazanog grafikona vrši se pomoću strelica lijevo i desno. Prva dva grafikona prikazuju iste informacije kao dijagrami, dok treći pokazuje promjenu broja upozorenja.

Kao točke grafikona možete odabrati izdanja ili dane.
Također postoji mogućnost sužavanja i proširivanja vremenskog raspona grafikona kako biste vidjeli podatke za određeno razdoblje:

Grafikone određenih metrika možete sakriti klikom na oznaku metrike u legende grafikona:

Grafikon nakon skrivanja metrike „Normal“:

Na dnu se nalazi tablica koja prikazuje podatke izvještaja analizatora. Klikom na sektor kružnog dijagrama filtrira se tablica:

U tablici se nalaze nekoliko kartica za filtriranje podataka. U ovom primjeru dostupno je filtriranje po namespaceu, datoteci, kategoriji (ime upozorenja). U tablici možete odabrati koliko upozorenja će se prikazivati na jednoj stranici (10, 25, 50, 100):

Postoji mogućnost filtriranja podataka prema stringu unesenom u polje „Search“. Primjer filtriranja prema riječi „Base“:

Na kartici „Issues“ klikom na plus u početku retka tablice prikazat će se kratki opis upozorenja:

U kratkom opisu nalazi se poveznica na stranicu s detaljnim informacijama o ovom upozorenju.
Klikom na vrijednosti u stupcima „Package“, „Category“, „Type“, „Severity“ filtriraju se podaci tablice prema odabranoj vrijednosti. Filtriranje po kategoriji:

U stupcu „Age“ prikazuje se koliko je izdanja preživjelo ovo upozorenje. Klikom na vrijednost u stupcu „Age“ otvorit će se stranica izdanja u kojoj se prvo pojavilo ovo upozorenje.
Klikom na vrijednost u stupcu „File“ otvorit će se izvorni kod datoteke na liniji s kodom koji je izazvao upozorenje. Ako datoteka nije prisutna u direktoriju izdanja ili je premještena nakon izrade izvješća, otvaranje izvornog koda datoteke bit će nemoguće.

Zaključak
Warnings Next Generation pokazao se kao vrlo koristan alat za vizualizaciju podataka u Jenkinsu. Nadamo se da će podrška PVS-Studio ovog dodatka puno pomoći onima koji već koriste PVS-Studio, kao i privući pažnju na statičku analizu ostalih korisnika Jenkins-a. Ako vaš izbor za statičkog analize bude PVS-Studio, bit ćemo vrlo sretni. Pozivamo naš alat.
Ako želite podijeliti ovaj članak s engleski govorećom publikom, molim vas da koristite link na prijevod: Valery Komarov. .
Izvor: habr.com
