
Udgivelsen af PVS-Studio 7.04 faldt sammen med udgivelsen af Warnings Next Generation 6.0.0-pluginet til Jenkins. I denne udgivelse tilføjede Warnings NG Plugin support til den statiske analysator PVS-Studio. Dette plugin visualiserer data om advarsler fra compileren eller andre analyseværktøjer i Jenkins. Denne artikel vil detaljere, hvordan man installerer og konfigurerer dette plugin til brug med PVS-Studio, samt beskrive dets fleste funktioner.
Installation af Warning Next Generation Plugin i Jenkins
Som standard findes Jenkins på adressen . På Jenkins' hovedside vælger vi 'Manage Jenkins' øverst til venstre:

Derefter vælger vi 'Manage Plugins', og åbner fanen 'Available':

I øverste højre hjørne i filterfeltet indtaster vi 'Warnings Next Generation':

Vi finder pluginet i listen, sætter flueben til venstre og klikker på 'Install without restart':

En installationsside for plugins vil åbne. Her vil vi se resultaterne af plugin-installationen:

Oprettelse af en ny opgave i Jenkins
Lad os nu oprette en opgave med frit konfigurationsvalg. På Jenkins' hovedside vælger vi 'New Item'. Indtast projektnavnet (f.eks. WTM) og vælg 'Freestyle project'.

Klik på 'Ok', hvorefter siden til opgaveindstillinger åbnes. Nederst på denne side i afsnittet 'Post-build Actions' åbner vi listen 'Add post-build action'. I listen vælger vi 'Record compiler warnings and static analysis results':

I dropdown-listen for feltet 'Tool' vælger vi 'PVS-Studio', hvorefter vi klikker på gem. På opgavens side klikker vi på 'Build Now', så der oprettes en mappe i arbejdsområdet i Jenkins til vores opgave:

Modtagelse af resultaterne fra projektbygningen
I dag stødte jeg på projektet dotnetcore/WTM på Github. Jeg downloadede det fra Github, lagde det i bygge-mappen WTM i Jenkins og analyserede det i Visual Studio ved hjælp af analysatoren PVS-Studio. En detaljeret beskrivelse af brugen af PVS-Studio i Visual Studio er præsenteret i den korresponderende artikel: .
Jeg kørte projektbygningen i Jenkins et par gange. Som resultat dukkede et diagram op øverst til højre på WTM-opgavens side i Jenkins, og til venstre dukkede menupunktet op PVS-Studio Warnings:

Når man klikker på diagrammet eller dette menupunkt åbnes siden med visualiseringen af PVS-Studio-analysatorens rapport ved hjælp af Warnings Next Generation-pluginet:

Siden med resultaterne
På siden er der to cirkeldiagrammer øverst. Til højre for diagrammerne er der et vindue med grafer. Nederst er der en tabel.

I venstre cirkeldiagram vises forholdet mellem advarsler i forskellige faregrader, og til højre vises forholdet mellem nye, uoprettede og rettede advarsler. Der er tre grafer. Valget af den viste graf foretages ved hjælp af pile til venstre og højre. De første to grafer viser de samme oplysninger som diagrammerne, mens den tredje viser ændringen i antallet af advarsler.

Som datapunkter i graferne kan man vælge builds eller dage.
Der er også mulighed for at indsnævre og udvide tidsintervallet for grafen for at se data for en bestemt periode:

Man kan skjule grafer for bestemte målinger ved at klikke på målingens betegnelse i grafens legende:

Graf efter skjuling af målingen 'Normal':

Nederst er der en tabel, der viser data fra analyserapporten. Ved at klikke på sektoren i cirkeldiagrammet filtreres tabellen:

I tabellen er der flere faner til filtrering af data. I dette eksempel er filtrering efter namespace, fil, kategori (navn på advarslen) tilgængelig. I tabellen kan man vælge, hvor mange advarsler der skal vises pr. side (10, 25, 50, 100):

Der er mulighed for at filtrere data efter teksten indtastet i feltet 'Search'. Eksempel på filtrering efter ordet 'Base':

På fanen 'Issues' vises en kort beskrivelse af advarslen ved at klikke på plus-tegnet i starten af tabelrækken:

I den korte beskrivelse er der et link til en side med detaljerede oplysninger om den pågældende advarsel.
Ved at klikke på værdierne i kolonnerne 'Package', 'Category', 'Type', 'Severity' filtreres dataene i tabellen efter den valgte værdi. Filtrering efter kategori:

I kolonnen 'Age' vises, hvor mange builds der har overlevet denne advarsel. Ved at klikke på værdien i kolonnen 'Age' åbnes siden for det build, hvor advarslen først opstod.
Ved at klikke på værdien i kolonnen 'File' åbnes kildekoden for filen på den linje, der har forårsaget advarslen. Hvis filen ikke findes i build-mappen eller er blevet flyttet efter rapportens oprettelse, vil det ikke være muligt at åbne kildekoden for filen.

Konklusion
Warnings Next Generation er et meget praktisk værktøj til visualisering af data i Jenkins. Vi håber, at støtten til PVS-Studio fra denne plugin vil hjælpe dem, der allerede bruger PVS-Studio, og samtidig tiltrække opmærksomhed til statisk analyse for andre Jenkins-brugere. Og hvis PVS-Studio er dit valg af statisk analyseredskab, vil vi være meget glade. Vi inviterer vores værktøj.
Hvis du vil dele denne artikel med et engelsktalende publikum, bedes du bruge linket til oversættelsen: Valery Komarov. .
Kilde: habr.com
