Udgivelsen af PVS-Studio 7.04 faldt sammen med udgivelsen af Warnings Next Generation 6.0.0 plugin til Jenkins. Netop i denne udgivelse tilføjede Warnings NG Plugin understøttelse af den statiske PVS-Studio-analysator. Dette plugin visualiserer advarselsdata fra compileren eller andre analyseværktøjer i Jenkins. Denne artikel vil i detaljer beskrive, hvordan du installerer og konfigurerer dette plugin til brug med PVS-Studio, og beskriver også de fleste af dets muligheder.
Installation af Warning Next Generation Plugin i Jenkins
Som standard er Jenkins placeret på
Vælg derefter punktet "Administrer plugins", åbn fanen "Tilgængelig":
I øverste højre hjørne i filterfeltet skal du indtaste "Advarsler næste generation":
Find plugin'et på listen, marker afkrydsningsfeltet til venstre og klik på "Installer uden genstart":
Plugin-installationssiden åbnes. Her vil vi se resultaterne af installation af plugin:
Oprettelse af en ny opgave i Jenkins
Lad os nu oprette en opgave med en gratis konfiguration. På Jenkins hovedside skal du vælge "Nyt vare". Indtast navnet på projektet (for eksempel WTM), og vælg punktet "Freestyle-projekt".
Klik på "Ok", hvorefter opgaveopsætningssiden åbnes. Nederst på denne side i punktet "Post-build Actions" skal du åbne listen "Tilføj post-build action". Vælg "Record compiler advarsler og statiske analyseresultater" på listen:
Vælg "PVS-Studio" i rullelisten i feltet "Værktøj", og klik derefter på knappen Gem. På opgavesiden skal du klikke på "Byg nu" for at oprette en mappe i arbejdsområdet i Jenkins til vores opgave:
Få resultater af projektopbygning
I dag stødte jeg på dotnetcore/WTM-projektet i Github-trends. Jeg downloadede det fra Github, lagde det i WTM build-mappen i Jenkins og analyserede det i Visual Studio ved hjælp af PVS-Studio-analysatoren. En detaljeret beskrivelse af brugen af PVS-Studio i Visual Studio er præsenteret i artiklen af samme navn:
Jeg kørte projektet build i Jenkins et par gange. Som et resultat dukkede en graf op øverst til højre på WTM-opgavesiden i Jenkins, og et menupunkt dukkede op til venstre PVS-Studio Advarsler:
Når du klikker på diagrammet eller dette menupunkt, åbnes en side med visualiseringen af PVS-Studio-analysatorrapporten ved hjælp af Warnings Next Generation plugin:
Resultatside
Der er to cirkeldiagrammer øverst på siden. Til højre for diagrammerne er grafvinduet. Nedenfor er en tabel.
Det venstre cirkeldiagram viser forholdet mellem advarsler af forskellige sværhedsgrader, det højre viser forholdet mellem nye, ukorrigerede og korrigerede advarsler. Der er tre grafer. Den viste graf vælges ved hjælp af pilene til venstre og højre. De to første grafer viser de samme oplysninger som diagrammerne, og den tredje viser ændringen i antallet af advarsler.
Du kan vælge samlinger eller dage som diagrampunkter.
Det er også muligt at indsnævre og udvide tidsintervallet for diagrammet for at se data for en bestemt periode:
Du kan skjule grafer for visse metrics ved at klikke på metric-betegnelsen i grafforklaringen:
Graf efter at have skjult "Normal"-metrikken:
Nedenfor er en tabel, der viser analysatorrapportens data. Når du klikker på en sektor i et cirkeldiagram, filtreres tabellen:
Tabellen har flere faner til filtrering af data. I dette eksempel er filtrering efter navneområde, fil, kategori (advarselsnavn) tilgængelig. I tabellen kan du vælge, hvor mange advarsler der skal vises på én side (10, 25, 50, 100):
Det er muligt at filtrere data efter den streng, der er indtastet i feltet "Søg". Eksempel på filtrering efter ordet "Base":
På fanen "Problemer", når du klikker på plustegnet i begyndelsen af tabelrækken, vil en kort beskrivelse af advarslen blive vist:
Den korte beskrivelse indeholder et link til en hjemmeside med detaljerede oplysninger om denne advarsel.
Når du klikker på værdierne i kolonnerne "Pakke", "Kategori", "Type", "Sværhedsgrad", filtreres tabeldataene efter den valgte værdi. Filtrer efter kategori:
Kolonnen "Alder" viser, hvor mange builds der overlevede denne advarsel. Hvis du klikker på værdien i kolonnen Alder, åbnes byggesiden, hvor denne advarsel først dukkede op.
Ved at klikke på en værdi i kolonnen "Fil" åbnes kildekoden for filen på linjen med den kode, der forårsagede advarslen. Hvis filen ikke er i build-mappen eller blev flyttet efter rapporten blev oprettet, vil det ikke være muligt at åbne filens kildekode.
Konklusion
Advarsler Next Generation viste sig at være et meget nyttigt datavisualiseringsværktøj i Jenkins. Vi håber, at understøttelse af PVS-Studio af dette plugin i høj grad vil hjælpe dem, der allerede bruger PVS-Studio, og vil også tiltrække andre Jenkins-brugeres opmærksomhed til statisk analyse. Og falder dit valg på PVS-Studio som statisk analysator, vil vi blive meget glade. Vi inviterer dig
Hvis du vil dele denne artikel med et engelsktalende publikum, så brug venligst oversættelseslinket: Valery Komarov.
Kilde: www.habr.com