
Die Veröffentlichung von PVS-Studio 7.04 fiel mit der Veröffentlichung des Warnings Next Generation-Plugins 6.0.0 für Jenkins zusammen. In dieser Version hat das Warnings NG Plugin Unterstützung für den statischen Analyzer PVS-Studio hinzugefügt. Dieses Plugin visualisiert Daten über Compiler-Warnungen oder andere Analysetools in Jenkins. In diesem Artikel wird ausführlich beschrieben, wie man dieses Plugin für die Verwendung mit PVS-Studio installiert und konfiguriert sowie die meisten seiner Funktionen erläutert.
Installation des Warnings Next Generation Plugins in Jenkins
Standardmäßig befindet sich Jenkins unter der Adresse . Auf der Hauptseite von Jenkins wählen wir oben links den Punkt „Manage Jenkins“:

Dann wählen wir den Punkt „Manage Plugins“ und öffnen die Registerkarte „Available“:

Oben rechts im Filterfeld geben wir „Warnings Next Generation“ ein:

Wir finden das Plugin in der Liste, setzen ein Häkchen links und klicken auf „Install without restart“:

Es öffnet sich die Seite zur Installation von Plugins. Dort sehen wir die Ergebnisse der Plugin-Installation:

Erstellung eines neuen Jobs in Jenkins
Jetzt erstellen wir einen Job mit freier Konfiguration. Auf der Hauptseite von Jenkins wählen wir „New Item“. Wir geben den Projektnamen (zum Beispiel WTM) ein und wählen den Punkt „Freestyle project“.

Wir klicken auf „Ok“, woraufhin die Einstellungsseite des Jobs geöffnet wird. Unten auf dieser Seite im Punkt „Post-build Actions“ öffnen wir die Liste „Add post-build action“. Im Menü wählen wir „Record compiler warnings and static analysis results“:

Im Dropdown-Menü des Feldes „Tool“ wählen wir „PVS-Studio“ und klicken dann auf die Schaltfläche „sichern“. Auf der Seite des Jobs klicken wir auf „Build Now“, um einen Ordner im Workspace in Jenkins für unseren Job zu erstellen:

Erhalt der Ergebnisse des Projektbaus
Heute stieß ich in den Trends von GitHub auf das Projekt dotnetcore/WTM. Ich habe es von GitHub heruntergeladen, in das Build-Verzeichnis WTM in Jenkins hinzugefügt und mit dem PVS-Studio-Analyzer in Visual Studio analysiert. Eine detaillierte Beschreibung der Nutzung von PVS-Studio in Visual Studio finden Sie im gleichnamigen Artikel: .
Ich habe das Projekt in Jenkins ein paar Mal gebaut. Dadurch erschien oben rechts auf der Seite des WTM-Jobs in Jenkins ein Diagramm, und links erschien der Menüpunkt PVS-Studio Warnings:

Beim Klicken auf das Diagramm oder diesen Menüpunkt öffnet sich eine Seite mit der Visualisierung des PVS-Studio-Analyzerberichts durch das Warnings Next Generation-Plugin:

Seite mit den Ergebnissen
Oben auf der Seite befinden sich zwei Kreisdiagramme. Rechts von den Diagrammen befindet sich ein Fenster mit Grafiken. Unten ist eine Tabelle platziert.

Das linke Kreisdiagramm zeigt das Verhältnis von Warnungen unterschiedlicher Gefahrenstufen an, das rechte die Relation von neuen, nicht behobenen und behobenen Warnungen. Es gibt drei Diagramme. Das angezeigte Diagramm wird mithilfe der Pfeile links und rechts ausgewählt. Die ersten beiden Diagramme zeigen die gleichen Informationen wie die Diagramme, das dritte zeigt die Veränderung der Anzahl der Warnungen.

Als Punkte der Diagramme können Builds oder Tage ausgewählt werden.
Es besteht auch die Möglichkeit, den Zeitrahmen des Diagramms einzugrenzen und zu erweitern, um Daten für einen bestimmten Zeitraum zu sehen:

Spezifische Metriken können durch Klicken auf die Kennzeichnung der Metrik in der Legende des Diagramms ausgeblendet werden:

Diagramm nach dem Ausblenden der Metrik „Normal“:

Unten befindet sich eine Tabelle, die die Daten des Analyseberichts anzeigt. Ein Klick auf ein Segment des Kreisdiagramms filtert die Tabelle:

In der Tabelle gibt es mehrere Registerkarten zur Datenfilterung. In diesem Beispiel ist eine Filterung nach Namespace, Datei, Kategorie (Warnungsname) verfügbar. In der Tabelle kann ausgewählt werden, wie viele Warnungen pro Seite angezeigt werden sollen (10, 25, 50, 100):

Es besteht die Möglichkeit, die Daten durch die Eingabe von Suchbegriffen im Feld „Search“ zu filtern. Beispiel einer Filterung nach dem Wort „Base“:

Im Tab „Issues“ wird beim Klicken auf das Pluszeichen zu Beginn der Tabellenzeile eine kurze Beschreibung der Warnung angezeigt:

In der kurzen Beschreibung befindet sich ein Link zur Website mit detaillierten Informationen zu dieser Warnung.
Durch Klicken auf die Werte in den Spalten „Package“, „Category“, „Type“, „Severity“ wird die Datentabelle nach dem ausgewählten Wert gefiltert. Filterung nach Kategorie:

In der Spalte „Age“ wird angezeigt, wie viele Builds diese Warnung überstanden hat. Beim Klicken auf den Wert in der Spalte „Age“ wird die Seite des Builds geöffnet, in dem diese Warnung erstmals aufgetreten ist.
Wenn auf den Wert in der Spalte „File“ geklickt wird, wird der Quellcode der Datei an der Zeile mit dem Code geöffnet, der die Warnung ausgelöst hat. Wenn die Datei im Build-Verzeichnis fehlt oder nach der Erstellung des Berichts verschoben wurde, ist das Öffnen des Quellcodes der Datei nicht möglich.

Fazit
Warnings Next Generation ist ein sehr nützliches Tool zur Datenvisualisierung in Jenkins. Wir hoffen, dass die Unterstützung von PVS-Studio durch dieses Plugin insbesondere den Anwendern von PVS-Studio hilft und auch andere Jenkins-Nutzer für die statische Analyse interessiert. Wenn Ihre Wahl als statisches Analysewerkzeug auf PVS-Studio fällt, freuen wir uns sehr. Wir laden ein, unser Tool.
Wenn Sie diesen Artikel mit einem englischsprachigen Publikum teilen möchten, verwenden Sie bitte den Link zur Übersetzung: Valery Komarov. .
Quelle: habr.com
