
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 sugli avvertimenti del compilatore o di altri strumenti di analisi in Jenkins. In questo articolo verrà spiegato in dettaglio come installare e configurare questo plugin per utilizzarlo con PVS-Studio, e saranno descritte la maggior parte delle sue funzionalità.
Installazione del Warning Next Generation Plugin in Jenkins
Per impostazione predefinita, Jenkins è disponibile 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 il segno di spunta a sinistra e clicchiamo su «Installa senza riavvio»:

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

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

Clicchiamo su «Ok», dopodiché si aprirà la pagina di configurazione del compito. In fondo a questa pagina, nella sezione «Post-build Actions», apriamo l'elenco «Add post-build action». Dal menu selezioniamo «Record compiler warnings and static analysis results».

Nel menu a discesa del campo «Tool» selezioniamo «PVS-Studio», quindi premiamo il pulsante per salvare. Nella pagina del compito premiamo «Build Now» per creare una cartella nello workspace di Jenkins per il nostro compito:

Ottenere i risultati della build del progetto
Oggi ho trovato nel trend di Github un progetto dotnetcore/WTM. L'ho scaricato da Github, l'ho inserito nella directory di build WTM in Jenkins e ho analizzato in Visual Studio utilizzando l'analizzatore PVS-Studio. Una descrizione dettagliata su come utilizzare PVS-Studio in Visual Studio è presentata nell'articolo omonimo: .
Ho avviato la build del progetto in Jenkins un paio di volte. Di conseguenza, in alto a destra nella pagina del compito WTM in Jenkins è comparso un grafico, e a sinistra è comparsa una voce di menu Avvertenze PVS-Studio:

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
In cima della pagina ci sono due diagrammi a torta. A destra dei diagrammi si trova una finestra con grafici. In basso c'è una tabella.

Nel diagramma a torta a sinistra viene mostrata la distribuzione degli avvisi di diversi livelli di pericolo, a destra la distribuzione degli avvisi nuovi, non risolti e risolti. 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 torte, mentre il terzo indica la variazione del numero di avvisi.

Puoi scegliere come punti grafici le versioni o i giorni.
È anche possibile restringere ed espandere l'intervallo di tempo del grafico per visualizzare i dati su un determinato periodo:

È possibile nascondere i grafici di metriche specifiche facendo clic sulle etichette delle metriche nella legenda del grafico:

Grafiche dopo aver nascosto la metrica "Normal":

In basso c'è una tabella che mostra i dati del rapporto dell'analizzatore. Facendo clic su un segmento del diagramma a torta si filtra la tabella:

Nella tabella sono disponibili diverse schede per filtrare i dati. In questo esempio, è possibile filtrare per namespace, file e categoria (nome dell'avviso). Nella tabella si può scegliere quante avvertenze visualizzare per pagina (10, 25, 50, 100):

È possibile filtrare i dati in base alla stringa inserita nel campo "Search". Esempio di filtraggio per la parola "Base":

Nella scheda «Issues», facendo clic sul segno più all'inizio della riga della tabella, verrà visualizzata una breve descrizione dell'avviso:

Nella breve descrizione è presente un link al sito con ulteriori informazioni su questo avviso.
Facendo clic sui valori nelle colonne «Package», «Category», «Type», «Severity» si filtrano i dati della tabella in base al valore selezionato. Filtraggio per categoria:

Nella colonna «Age» viene visualizzato quante build hanno registrato questo avviso. Cliccando sul valore nella colonna «Age» si aprirà la pagina della build in cui è apparso per la prima volta questo avviso.
Cliccando sul valore nella colonna "File", si aprirà il codice sorgente del file sulla 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, non sarà possibile aprire il codice sorgente del file.

Conclusione
Warnings Next Generation si è rivelato uno strumento molto utile per la visualizzazione dei dati in Jenkins. Ci auguriamo che il supporto di PVS-Studio attraverso questo plugin possa essere di grande aiuto per coloro che già utilizzano PVS-Studio, oltre ad attirare l'attenzione degli altri utenti di Jenkins verso l'analisi statica. E se la vostra scelta come analizzatore statico ricade su PVS-Studio, saremo molto felici. Vi invitiamo il nostro strumento.
Se desideri condividere questo articolo con un pubblico di lingua inglese, ti prego di utilizzare il link alla traduzione: Valery Komarov. .
Fonte: habr.com
