
Il rilascio di PVS-Studio 7.04 coincide con il rilascio del plugin Warnings Next Generation 6.0.0 per Jenkins. Proprio in questo rilascio, il Warnings NG Plugin ha aggiunto il supporto per l'analizzatore statico PVS-Studio. Questo plugin visualizza i dati sulle segnalazioni del compilatore o di altri strumenti di analisi in Jenkins. In questo articolo verrà spiegato dettagliatamente come installare e configurare questo plugin per utilizzarlo con PVS-Studio, oltre a descriverne la maggior parte delle funzionalità.
Installazione del Warning Next Generation Plugin in Jenkins
Per impostazione predefinita, Jenkins si trova all'indirizzo . Nella pagina principale di Jenkins, in alto a sinistra, selezioniamo l'opzione "Gestisci Jenkins":

Successivamente, selezioniamo l'opzione "Gestisci Plugin", apriamo la scheda "Disponibili":

Nell'angolo in alto a destra, nel campo filtro, digitiamo "Warnings Next Generation":

Troviamo il plugin nell'elenco, mettiamo una spunta a sinistra e facciamo clic su "Installa senza riavvio":

Si aprirà la pagina di installazione dei plugin. Qui vedremo i risultati dell'installazione del plugin:

Creazione di un nuovo compito in Jenkins
Ora creiamo un compito con una configurazione libera. Nella pagina principale di Jenkins, selezioniamo "Nuovo Elemento". Inseriamo il nome del progetto (ad esempio, WTM) e scegliamo l'opzione "Progetto Freestyle".

Faremo clic su "Ok", dopo di che si aprirà la pagina di configurazione del compito. In fondo a questa pagina, nella sezione "Azioni post-build", apriamo l'elenco "Aggiungi azione post-build". Nella lista selezioniamo "Registra avvisi del compilatore e risultati dell'analisi statica":

Nel menu a discesa del campo "Strumento" selezioniamo "PVS-Studio", quindi facciamo clic sul pulsante di salvataggio. Nella pagina del compito facciamo clic su "Compila ora", in modo da creare una cartella nella workspace di Jenkins per il nostro compito:

Ottenimento dei risultati della compilazione del progetto
Oggi, tra le tendenze di Github, ho trovato il progetto dotnetcore/WTM. L'ho scaricato da Github, l'ho inserito nella directory di build WTM in Jenkins e l'ho analizzato in Visual Studio utilizzando l'analizzatore PVS-Studio. Una descrizione dettagliata dell'utilizzo di PVS-Studio in Visual Studio è fornita in un articolo omonimo: .
Ho avviato un paio di volte la compilazione del progetto in Jenkins. Di conseguenza, in alto a destra nella pagina del compito WTM in Jenkins è apparso un grafico, e a sinistra è comparsa l'opzione di menu PVS-Studio Warnings:

Cliccando sul grafico o su questa voce di menu si apre la pagina con la visualizzazione del rapporto dell'analizzatore PVS-Studio tramite il plugin Warnings Next Generation:

Pagina con i risultati
Nella parte superiore della pagina sono presenti due grafici a torta. A destra dei grafici c'è una finestra con grafici. In basso si trova una tabella.

Nel grafico a torta a sinistra si mostra la proporzione di avvisi di diversi livelli di pericolo, mentre a destra si vede la proporzione di avvisi nuovi, non corretti e corretti. Ci sono tre grafici. La selezione del grafico visualizzato avviene tramite le frecce a sinistra e a destra. I primi due grafici mostrano le stesse informazioni delle diagrammi, mentre il terzo mostra le variazioni nel numero degli avvisi.

Come punti grafici è possibile selezionare build o giorni.
È inoltre possibile restringere ed estendere l'intervallo temporale del grafico, per visualizzare i dati su un intervallo specifico:

È possibile nascondere i grafici di determinate metriche facendo clic sulla designazione della metrica nella legenda del grafico:

Grafico dopo aver nascosto la metrica "Normal":

In basso è presente una tabella che mostra i dati del report dell'analizzatore. Facendo clic su un settore del grafico a torta si filtra la tabella:

Nella tabella ci sono diverse schede per filtrare i dati. In questo esempio, è disponibile il filtro per namespace, file, categoria (nome dell'avviso). Nella tabella è possibile selezionare quanti avvisi visualizzare per pagina (10, 25, 50, 100):

È possibile filtrare i dati inserendo una stringa nel campo "Search". Esempio di filtro per la parola "Base":

Nella scheda "Issues", facendo clic sul simbolo più all'inizio della riga della tabella si visualizzerà una descrizione sintetica dell'avviso:

Nella descrizione sintetica è presente un link al sito con informazioni dettagliate su questo avviso.
Facendo clic sui valori nelle colonne "Package", "Category", "Type", "Severity" si filtra la tabella in base al valore selezionato. Filtro per categoria:

Nella colonna "Age" viene mostrato quante build ha attraversato questo avviso. Facendo clic sul valore nella colonna "Age" si aprirà la pagina della build in cui è apparso per la prima volta questo avviso.
Facendo clic sul valore nella colonna "File" si aprirà il codice sorgente del file nella riga con il codice che ha generato l'avviso. Se il file non è presente nella directory di build o è stato spostato dopo la creazione del report, l'apertura del codice sorgente del file non sarà possibile.

Conclusione
Warnings Next Generation si è rivelato uno strumento molto utile per la visualizzazione dei dati in Jenkins. Speriamo che il supporto di PVS-Studio tramite questo plugin possa aiutare coloro che già utilizzano PVS-Studio, e attrarre l'attenzione verso l'analisi statica degli altri utenti di Jenkins. E se il vostro scelta come analizzatore statico ricade su PVS-Studio, saremo molto felici. Vi invitiamo il nostro strumento.
Se desiderate condividere questo articolo con un pubblico anglofono, vi prego di utilizzare il link alla traduzione: Valery Komarov. .
Fonte: habr.com
