
Utgivningen av PVS-Studio 7.04 sammanföll med utgivningen av pluginet Warnings Next Generation 6.0.0 för Jenkins. I denna version har Warnings NG Plugin lagt till stöd för den statiska analysatorn PVS-Studio. Detta plugin visualiserar data om kompilatorvarningar eller andra analysverktyg i Jenkins. I den hÀr artikeln kommer vi att gÄ igenom hur man installerar och konfigurerar detta plugin för anvÀndning med PVS-Studio, samt beskriva de flesta av dess funktioner.
Installation av Warning Next Generation Plugin i Jenkins
Som standard finns Jenkins pĂ„ adressen . PĂ„ Jenkins startsida vĂ€ljer vi âHantera Jenkinsâ uppe till vĂ€nster:

DĂ€refter vĂ€ljer vi âHantera pluginsâ och öppnar fliken âTillgĂ€ngligaâ:

I det övre högra hörnet skriver vi in âWarnings Next Generationâ i filterfĂ€ltet:

Vi hittar pluginet i listan, sĂ€tter en bock till vĂ€nster och klickar pĂ„ âInstallera utan omstartâ:

En sida för plugininstallation öppnas. DÀr ser vi resultaten av plugininstallation:

Skapa ett nytt jobb i Jenkins
Nu skapar vi ett jobb med fri konfiguration. PĂ„ Jenkins startsida klickar vi pĂ„ âNytt objektâ. Vi skriver in projektets namn (till exempel, WTM) och vĂ€ljer alternativet âFreestyle-projektâ.

Vi klickar pĂ„ âOkejâ, varefter sidan för jobbinstĂ€llningar öppnas. LĂ€ngst ner pĂ„ den sidan i avsnittet âPost-build Actionsâ öppnar vi listan âLĂ€gg till post-build Ă„tgĂ€rdâ. I listan vĂ€ljer vi âRegistrera kompilatorvarningar och resultat av statisk analysâ:

I rullgardinslistan för fĂ€ltet âVerktygâ vĂ€ljer vi âPVS-Studioâ och klickar sedan pĂ„ spara. PĂ„ jobbsidan klickar vi pĂ„ âBygg nuâ för att skapa en mapp i arbetsytan i Jenkins för vĂ„rt jobb:

InhÀmta resultaten av projektbygget
Idag sÄg jag ett projekt pÄ Github, dotnetcore/WTM. Jag laddade ner det frÄn Github, lade det i byggkatalogen WTM i Jenkins och analyserade det i Visual Studio med hjÀlp av analysatorn PVS-Studio. En detaljerad beskrivning av hur man anvÀnder PVS-Studio i Visual Studio finns i den namngivna artikeln: .
Jag körde projektbygget i Jenkins nÄgra gÄnger. Som ett resultat visades en graf uppe till höger pÄ WTM-jobbsidan i Jenkins, och till vÀnster dök menypunkten upp. PVS-Studio Varningar:

Genom att klicka pÄ grafen eller denna menypunkt öppnas en sida med visualisering av PVS-Studio-analysatorns rapport via Warnings Next Generation-pluginet:

Sidan med resultaten
PÄ sidan finns tvÄ cirkeldiagram högst upp. Till höger om diagrammen finns ett fönster för grafer. LÀngst ner finns en tabell.

I vÀnstra cirkeldiagrammet visas proportionen av varningar av olika fara, medan det högra visar förhÄllandet mellan nya, outredda och ÄtgÀrdade varningar. Det finns tre diagram. Valt diagram sker via pilarna till vÀnster och höger. De tvÄ första diagrammen visar samma information som cirkeldiagrammen, medan det tredje visar förÀndringen av antalet varningar.

Som datapunkter kan du vÀlja byggnationer eller dagar.
Det finns ocksÄ möjlighet att begrÀnsa och utvidga tidsintervallet för diagrammet för att se data över en viss period:

Du kan dölja diagram för specifika mÀtvÀrden genom att klicka pÄ mÀtvÀrdesbeteckningen i diagramlegenden:

Diagrammet efter att mÀtvÀrdet "Normal" har dolts:

Nederst finns en tabell som visar data frÄn analyserapporten. NÀr du klickar pÄ sektorn i cirkeldiagrammet filtreras tabellen:

I tabellen finns flera flikar för att filtrera data. I detta exempel finns filtrering tillgÀnglig efter namespace, fil, kategori (varningsnamn). I tabellen kan du vÀlja hur mÄnga varningar som ska visas per sida (10, 25, 50, 100):

Det finns möjlighet att filtrera data efter texten som skrivs in i sökfÀltet "Search". Exempel pÄ filtrering efter ordet "Base":

PÄ fliken "Issues" visas en kort beskrivning av varningen nÀr du klickar pÄ plusset i början av tabellraden:

I den korta beskrivningen finns en lÀnk till en webbplats med mer information om denna varning.
NÀr du klickar pÄ vÀrden i kolumnerna "Package", "Category", "Type", "Severity" filtreras tabellens data baserat pÄ det valda vÀrdet. Filtrering efter kategori:

I kolumnen "Age" visas hur mÄnga byggen som har överlevt denna varning. NÀr du klickar pÄ ett vÀrde i kolumnen "Age" öppnas sidan för bygget dÀr denna varning först intrÀffade.
NÀr du klickar pÄ vÀrdet i kolumnen "File" öppnas koden för filen pÄ raden med koden som utlöste varningen. Om filen saknas i byggkatalogen eller har flyttats efter att rapporten skapades, kommer det inte vara möjligt att öppna filkoden.

Slutsats
Warnings Next Generation har visat sig vara ett mycket praktiskt verktyg för datavisualisering i Jenkins. Vi hoppas att stödet för PVS-Studio genom denna plugin kommer att vara till stor hjÀlp för dem som redan anvÀnder PVS-Studio, och Àven vÀcka intresset för statisk analys bland övriga Jenkins-anvÀndare. Och om ditt val av statisk analysator faller pÄ PVS-Studio, skulle vi bli mycket glada. VÀlkommen vÄrt verktyg.
Om du vill dela den hÀr artikeln med en engelsktalande publik, ber jag dig att anvÀnda lÀnken till översÀttningen: Valery Komarov. .
KĂ€lla: habr.com
