
Lansarea PVS-Studio 7.04 coincide cu lansarea pluginului Warnings Next Generation 6.0.0 pentru Jenkins. Tocmai în această lansare, Warnings NG Plugin a adăugat suport pentru analizorul static PVS-Studio. Acest plugin vizualizează datele despre avertizările compilatorului sau ale altor instrumente de analiză în Jenkins. În acest articol, vom discuta în detaliu cum să instalăm și să configurăm acest plugin pentru utilizarea cu PVS-Studio, precum și majoritatea funcționalităților sale.
Instalarea pluginului Warnings Next Generation în Jenkins
Implicit, Jenkins se află la adresa . Pe pagina principală Jenkins, în colțul stâng sus, selectăm opțiunea „Manage Jenkins”:

Apoi, selectăm opțiunea „Manage Plugins”, deschidem tab-ul „Available”:

În colțul din dreapta sus, în câmpul de filtrare, introducem „Warnings Next Generation”:

Găsim pluginul în listă, bifăm căsuța din stânga și apăsăm „Install without restart”:

Se va deschide pagina de instalare a pluginurilor. Aici vom vedea rezultatele instalării pluginului:

Crearea unei noi sarcini în Jenkins
Acum vom crea o sarcină cu configurație liberă. Pe pagina principală Jenkins, selectăm „New Item”. Introducem numele proiectului (de exemplu, WTM) și alegem opțiunea „Freestyle project”.

Apăsăm „Ok”, după care se va deschide pagina de configurare a sarcinii. În partea de jos a acestei pagini, la secțiunea „Post-build Actions”, deschidem lista „Add post-build action”. Din listă, alegem „Record compiler warnings and static analysis results”:

În lista derulantă a câmpului „Tool”, alegem „PVS-Studio”, după care apăsăm butonul de salvare. Pe pagina sarcinii, apăsăm „Build Now” pentru a crea un folder în workspace-ul din Jenkins pentru sarcina noastră:

Obținerea rezultatelor compilării proiectului
Astăzi, în tendințele Github, mi-a atras atenția proiectul dotnetcore/WTM. L-am descărcat de pe Github, l-am plasat în directorul de compilare WTM din Jenkins și l-am analizat în Visual Studio cu ajutorul analizorului PVS-Studio. O descriere detaliată a utilizării PVS-Studio în Visual Studio este prezentată în articolul omonim: .
Am rulat compilarea proiectului în Jenkins de câteva ori. Drept rezultat, în colțul din dreapta sus al paginii sarcinii WTM din Jenkins a apărut un grafic, iar în stânga a apărut opțiunea de meniu PVS-Studio Warnings:

Când se apasă pe grafic sau această opțiune de meniu, se deschide pagina cu vizualizarea raportului analizorului PVS-Studio prin pluginul Warnings Next Generation:

Pagina cu rezultatele
Pe pagina de sus sunt două diagrame circulare. În dreapta diagramelor se află fereastra graficelor. În partea de jos se află o tabelă.

Diagrama circular din stânga ilustrează raportul între avertizările de diferite niveluri de periculozitate, în timp ce diagrama din dreapta arată raportul între noile, nerezolvatele și rezolvatele avertizări. Există trei grafice. Graficele afișate pot fi selectate folosind săgețile din stânga și din dreapta. Primele două grafice prezintă aceeași informație ca și diagramelor, iar al treilea — schimbarea numărului de avertizări.

Punctele grafice pot fi selectate în funcție de versiuni sau zile.
De asemenea, este posibil să restrângeți sau să extindeți intervalul de timp al graficului pentru a vedea datele pe o anumită perioadă:

Graficele anumitor metrici pot fi ascunse prin apăsarea denumirii metricii din legenda graficului:

Graficul după ascunderea metricii „Normal”:

În partea de jos se află un tabel care arată datele raportului analizei. Apăsând pe un sector al diagramei circulare, se filtrează tabelul:

Tabelul are mai multe file pentru filtrarea datelor. În acest exemplu, filtrarea pe baza namespace-ului, fișierelor și categoriei (numele avertizării) este disponibilă. În tabel, puteți alege câte avertizări să fie afișate pe o pagină (10, 25, 50, 100):

Există posibilitatea de a filtra datele după un termen introdus în câmpul „Search”. Exemplu de filtrare după cuvântul „Base”:

În fila „Issues”, apăsând pe semnul plus din fața fiecărei linii din tabel, va fi afișat un rezumat al avertizării:

Rezumatul conține un link către un site cu informații detaliate despre această avertizare.
Apăsând pe valorile din coloanele „Package”, „Category”, „Type”, „Severity”, se filtrează datele tabelului în funcție de valoarea selectată. Filtrare pe bază de categorie:

În coloana „Age” se afișează câte versiuni au trecut prin această avertizare. Apăsând pe valoarea din coloana „Age”, se va deschide pagina versiunii în care a apărut prima dată această avertizare.
Apăsând pe valoarea din coloana „File”, se va deschide codul sursă al fișierului la linia cu codul care a generat avertizarea. Dacă fișierul lipsește din directorul de versiuni sau a fost mutat după generarea raportului, deschiderea codului sursă al fișierului va fi imposibilă.

Concluzie
Warnings Next Generation s-a dovedit a fi un instrument foarte util pentru vizualizarea datelor în Jenkins. Sperăm că suportul pentru PVS-Studio din acest plugin va fi de mare ajutor celor care folosesc deja PVS-Studio și va atrage atenția altor utilizatori Jenkins asupra analizei statice. Dacă alegeți PVS-Studio ca analizator static, vom fi foarte încântați. Vă invităm instrumentul nostru.
Dacă doriți să împărtășiți acest articol cu o audiență vorbitoare de limbă engleză, vă rugăm să folosiți linkul către traducere: Valery Komarov. .
Sursa: habr.com
