Blog

Die besten Jenkins-Plugins

JAN 18, 2016

Eine Auswahl praktischer Plugins für Schüler und Profis gleichermaßen.

Eficode is the leading DevOps company in Europe, driving and building the future of software development across 10 countries, with 500+ experts in DevOps and sustainable software development. Our Eficode ROOT managed DevOps platform provides centralized access control and real-time visibility of project status, quality, and performance that integrates with 50+ of your preferred tools, including the Atlassian Stack and open-source systems like Jenkins and Kubernetes.

Vor langer Zeit hat Praqma eine Liste nützlicher Jenkins-Plugins zusammengestellt, die euer CI-Leben bereichern sollten. Doch 2013 ist längst Geschichte, und wir fanden, dass unsere Liste dringend eine umfassende Überarbeitung braucht.

Jetzt präsentieren wir euch eine aktualisierte Liste praktischer Plugins, die Probleme lösen, von denen ihr nicht einmal wusstet, dass ihr sie habt.

Übersicht

Server-Plugins

Server-Monitoring

Plugins:Disk Usage, Monitoring

Wenn ihr euren Server im Blick behaltet, könnt ihr unangenehme Situationen vermeiden. Warum nicht Plugins einsetzen, die ein grundlegendes Monitoring eures Masters und eurer Slaves ermöglichen? Mit dem Plugin Disk Usage behaltet ihr euren Speicherplatz im Blick, während das Plugin Monitoring auf einer eigenen Monitoring-Seite eine ganze Reihe interessanter Metriken überwacht.

Monitoring bits

Verschachtelte Ansichten

Plugin:Nested View

Wenn ihr eure Jobs in separaten Ansichten organisiert, bleibt eure Jenkins-Instanz übersichtlich. Größere Jenkins-Instanzen werden jedoch schnell von Dutzenden Ansichten überflutet. Standard-Jenkins erlaubt leider keine Gruppierung von Ansichten, doch hier kommt das Nested View Plugin ins Spiel. Damit könnt ihr relevante Ansichten unter einer übergeordneten Ansicht gruppieren und übersichtliche Ansichtsstrukturen erstellen.

Team nested views

Sicher neu starten

Plugin:SafeRestart

Jenkins muss hin und wieder neu gestartet werden, häufig bei der Installation oder Aktualisierung von Plugins. Mit diesem Plugin könnt ihr neue Jobs pausieren und den Server neu starten, sobald eure laufenden Jobs abgeschlossen sind. Den Neustart könnt ihr sowohl auf der Jenkins-Konfigurationsseite als auch im Haupt-Dashboard planen.

SafeRestart button

Grüne Kugeln

Plugin: Green Balls

Jenkins verwendet blaue Kugeln, um erfolgreiche Builds zu kennzeichnen – aus gutem Grund. Dennoch bevorzugen genug Nutzer grüne Kugeln, sodass dieses Plugin, das die Kugelfarbe ändert, zu den beliebtesten Plugins überhaupt gehört.

Green balls

Pipeline-Plugins

Build-Pipelines

Plugin:Build Pipeline

Das Build Pipeline Plugin visualisiert eure vor- und nachgelagerten, verbundenen Jobs in einer ansprechenden Ansicht und verschafft euch einen guten Überblick über euren gesamten Build-Prozess. Außerdem könnt ihr praktische manuelle Trigger zu euren Jobs hinzufügen. So könnt ihr externe Prozesse, etwa eine Prüfung vor dem Deployment, in eure Pipeline integrieren.

Build pipeline preview

Build-Badges und Promotions

Plugins:Promoted Builds, Build Trigger Badge

Promotet eure Builds im Verlauf der Pipeline und verseht sie mit aussagekräftigen Badges. Das Build Trigger Badge Plugin ergänzt eure Builds um ein kleines Badge, das den Auslöser des Builds zeigt. Wurde er manuell ausgelöst, durch eine SCM-Änderung oder von einem vorgelagerten Job?

Mit dem Promoted Builds Plugin könnt ihr noch einen Schritt weitergehen und eure Builds entlang der gesamten Pipeline promoten und kennzeichnen. Bei jedem weiteren Schritt könnt ihr euren Build mit einem Badge versehen, das seinen Erfolg zeigt. Ein Blick auf einen Build genügt, um zu erkennen, wodurch er ursprünglich gestartet wurde und wie gut er in der weiteren Pipeline abgeschnitten hat. Kreative Nutzer können Jobs auslösen, sobald bestimmte Promotion-Stufen erreicht sind.

Promoted builds example

Ein besseres Dashboard erstellen

Plugins:Build Monitor, Dashboard View, Radiator View

Stellt euer Wunsch-Dashboard zusammen und zeigt den Status eurer wichtigsten Jobs auf dem großen Monitor neben der Kaffeemaschine an. Genießt euren Kaffee stolz im grünen Schein eures Dashboards – oder eilt zurück an euren Schreibtisch, um stattdessen den letzten Commit zu reparieren. Sammelt und zeigt interessante Statistiken zu euren Builds auf einem anderen Dashboard an, um anfällige Bereiche eures Build-Prozesses zu erkennen und Probleme gezielt aufzuspüren.

Build Monitor dashboard

Job-Plugins

Jobs als Code

Plugin:Job DSL

Die Konfiguration eurer Jobs und Pipelines als Code zu speichern, bietet zahlreiche Vorteile. Ihr könnt eure Konfiguration versionieren, eure Jobs bei Bedarf neu generieren, neue Jenkins-Instanzen im Handumdrehen bereitstellen und konfigurieren und vieles mehr. Die Jenkins Job DSL ist eine beliebte und außergewöhnlich gut dokumentierte Groovy DSL, mit der ihr Pipelines und Jobs über Skripte konfigurieren könnt. Wenn ihr euch damit beschäftigt, eröffnen sich euch zweifellos neue Möglichkeiten.

Job DSL snippet

Job-Skripting und Parametrisierung

Plugins:EnvInject, Environment Script

Reduziert Redundanzen und erhöht die Wiederverwendbarkeit eurer Jobs, indem ihr ihre Variablenwerte parametrisiert. Mit den Plugins EnvInject und Environment Script könnt ihr die erforderlichen Werte in eure Jobs einfügen. Sie sind überraschend flexibel und helfen euch dabei, generische Jobs zu erstellen. Und noch ein Vorteil: Sobald eure Jobs parametrisiert sind, könnt ihr sie mit Job DSL ganz einfach in übersichtliche Skripte umwandeln.

Environment Script example

Analyse, Analyse, Analyse

Eine gute Build-Pipeline erfasst eine Vielzahl interessanter Metriken zu eurem Code – eine noch bessere Pipeline definiert dafür Warnungen und Schwellenwerte. Im Folgenden findet ihr einige Plugins, die euch bei der Analyse helfen und Schwachstellen in eurem Code aufzeigen.

Compiler-Warnungen

Plugin:Warnings

Behaltet die Compiler-Warnungen im Blick, die in euren Builds auftreten – sie sind ein guter Indikator für mögliche Probleme im Code. Keine Panik, wenn euer erster Build Hunderte von Problemen meldet: Trends sind wichtiger als absolute Werte. Mit Sorgfalt könnt ihr diese Zahlen kontinuierlich senken und euch darauf verlassen, dass der Code mit jedem Commit ein Stück besser wird.

Warnings report

Testergebnisse und Testabdeckung

Plugins:xunit, junit, nunit, Test Results Analyzer

Fasst eure Testergebnisse zusammen und stellt sie in hilfreichen Diagrammen und Statistiken dar. (Ihr habt doch Tests, oder?) Erkennt fragile Tests und investiert Zeit, um sie – oder den von ihnen getesteten Code – robuster zu machen. Behaltet den Trend eurer Testabdeckung im Blick und fordert euch selbst heraus, diesen Prozentsatz mit jedem Commit zu erhöhen.

Test results graph

Aufgabensuche

Plugin:Task Scanner

Erinnert ihr euch an das //TODO, das ihr letzten Freitag hinterlassen habt? Oder an die @deprecated-Methode, die ihr noch im gesamten Code ersetzen müsst? Wir wissen, dass ihr das irgendwann beheben werdet. Lasst diese Aufgaben aber nicht zu sehr anwachsen – mit dem Plugin Task Scanner behaltet ihr sie im Griff. Es bietet zahlreiche praktische Funktionen wie Trendberichte, Priorisierung und Schwellenwerte.

Task Scanner report

Verlauf der Job-Konfiguration

Plugin:JobConfigHistory

Praktisch, um nachzuvollziehen, welche Änderungen ihr – oder dieser Trottel Jim am anderen Ende des Raums – an euren Jenkins-Jobs vorgenommen habt. Das Plugin speichert bei jeder Änderung eine Kopie der Job-Konfiguration und ermöglicht so die Nachverfolgung von Änderungen, Diffs und die unkomplizierte Wiederherstellung von Konfigurationen.

JobConfigHistory diff

Fazit

Ihr wollt Jenkins noch stärker anpassen? Durchsucht die Liste der verfügbaren Plugins im Jenkins-Plugin-Manager. Sucht, und ihr werdet finden!

Haben wir ein großartiges Plugin übersehen? Vielleicht sogar ein vielversprechendes Plugin, an dem ihr gerade arbeitet? Gebt uns Bescheid! Wir würden es gerne ausprobieren. Wenn es uns gefällt, landet es vielleicht sogar auf der Liste!

  • CI/CD

Subscribe to our newsletter