
Die Veröffentlichung von PVS-Studio 7.04 fiel gleichzeitig mit der Veröffentlichung des Warnings Next Generation Plugins 6.0.0 für Jenkins zusammen. In dieser Version hat das Warnings NG Plugin die Unterstützung für den statischen Analysewerkzeug PVS-Studio hinzugefügt. Dieses Plugin visualisiert die Daten zu Compilerwarnungen oder anderen Analyseinstrumenten in Jenkins. In diesem Artikel wird ausführlich erklärt, wie man dieses Plugin zur Nutzung mit PVS-Studio installiert und konfiguriert, und es werden die meisten seiner Funktionen beschrieben.
Installation des Warnings Next Generation Plugins in Jenkins
Im Standard befindet sich Jenkins unter der Adresse . Auf der Hauptseite von Jenkins wählen wir links oben den Punkt „Manage Jenkins“:

Als Nächstes wählen wir den Punkt „Manage Plugins“ und öffnen die Registerkarte „Verfügbar“:

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

Wir finden das Plugin in der Liste, setzen links ein Häkchen und klicken auf „Installieren ohne Neustart“:

Es öffnet sich die Plugin-Installationsseite. Dort sehen wir die Ergebnisse der Plugin-Installation:

Erstellung einer neuen Aufgabe in Jenkins
Jetzt erstellen wir eine Aufgabe mit freier Konfiguration. Auf der Hauptseite von Jenkins wählen wir „Neues Element“. Wir geben den Projektnamen ein (zum Beispiel WTM) und wählen den Punkt „Freestyle-Projekt“ aus.

Wir klicken auf „Ok“, woraufhin die Einstellungsseite für die Aufgabe geöffnet wird. Unten auf dieser Seite im Abschnitt „Post-build Actions“ öffnen wir die Liste „Add post-build action“. Im Menü wählen wir „Compiler-Warnungen und statische Analyseergebnisse aufzeichnen“ aus:

Im Dropdown-Menü des Feldes „Tool“ wählen wir „PVS-Studio“ aus und klicken danach auf die Schaltfläche Speichern. Auf der Aufgabenseite klicken wir auf „Jetzt bauen“, um einen Ordner im Workspace in Jenkins für unsere Aufgabe 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 von WTM in Jenkins verschoben und mit dem PVS-Studio-Analyzer in Visual Studio analysiert. Eine detaillierte Beschreibung zur Verwendung von PVS-Studio in Visual Studio finden Sie im gleichnamigen Artikel: .
Ich habe das Projekt zwei Mal in Jenkins gebaut. In der Folge erschien rechts oben auf der Seite der Aufgabe WTM in Jenkins ein Diagramm, und links erschien ein Menüpunkt PVS-Studio-Warnungen:

Durch Klicken auf das Diagramm oder diesen Menüpunkt öffnet sich die Seite mit der Visualisierung des Analyseberichts von PVS-Studio durch das Plugin Warnings Next Generation:

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

Im linken Kreisdiagramm wird das Verhältnis der Warnungen unterschiedlicher Gefahrenstufen angezeigt, im rechten das Verhältnis neuer, unbeheilter und behobener Warnungen. Es gibt drei Diagramme. Der angezeigte Diagrammtyp kann über die Pfeile links und rechts ausgewählt werden. Die ersten beiden Diagramme zeigen die gleichen Informationen wie die Diagramme, das dritte zeigt die Veränderung der Anzahl der Warnungen.

Als Diagramm-Punkte können Builds oder Tage ausgewählt werden.
Es besteht auch die Möglichkeit, den zeitlichen Bereich des Diagramms zu verengen oder zu erweitern, um Daten für einen bestimmten Zeitraum anzuzeigen:

Bestimmte Metriken können durch Klicken auf die Metrikbezeichnung in der Diagrammlegende ausgeblendet werden:

Diagramm nach dem Ausblenden der Metrik „Normal“:

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

In der Tabelle gibt es mehrere Registerkarten zur Datenfilterung. In diesem Beispiel ist die 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, Daten nach dem im Feld „Search“ eingegebenen Text zu filtern. Beispiel für die Filterung nach dem Wort „Base“:

Auf der Registerkarte „Issues“ wird bei einem Klick auf das Pluszeichen am Anfang der Tabellenzeile eine kurze Beschreibung der Warnung angezeigt:

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

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

Fazit
Warnings Next Generation hat sich als sehr nützliches Tool zur Datenvisualisierung in Jenkins erwiesen. Wir hoffen, dass die Unterstützung von PVS-Studio durch dieses Plugin denjenigen helfen wird, die bereits PVS-Studio verwenden, und auch das Interesse am statischen Code-Analyse bei anderen Jenkins-Nutzern weckt. Wenn Sie sich für PVS-Studio als statischen Analysator entscheiden, freuen wir uns sehr darüber. 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
