New Image Systems

Jenkins-Plugin „NIS Notification Lamp“

  • 04/03/2013

Die Komplexität der modernen IT-Systeme nimmt ständig zu. Mit der Komplexität entstehen Fehlerquellen, welche nicht nur die Entwicklung selbst, sondern auch die Qualitätssicherung erschweren.

Wir verwenden für unsere Tests, sowie wiederkehrende Aufgaben, das kontinuierliche Integrationstool Jenkins. Jenkins zeichnet sich unter anderem durch seine kostenlose Verfügbarkeit, die einfache plattformunabhängige Installation und Administration, und seine einfache Erweiterbarkeit aus. Das Tool basiert hauptsächlich auf einer Plugin-Architektur. Zurzeit existieren über 610 Open-Source-Plugins (Stand Februar 2013), beispielsweise für sämtliche Versionsverwaltungsmanagementwerkzeuge und Programmiersprachen.

Dank der webbasierten Benutzeroberfläche lassen sich einfach neue Jobs anlegen und konfigurieren. Außerdem kann man die verschiedenen Jobs thematisch bzw. inhaltlich in Gruppen zusammenfassen. Beispielsweise könnte die Abfolge eines Jobs wie folgt aussehen:

  • Wird ein Job gestartet, wird zunächst das Projekt aus der Versionsverwaltung ausgecheckt und neu kompiliert.
  • Als nächstes werden die Unit-Tests ausgeführt und die Test-Ergebnisse veröffentlicht.
  • Mit Hilfe der dreifarbigen Ampel und der „Projekt-Fitness“ (Verhältnis erfolgreiche/fehlgeschlagene Builds) auf der Seiten kann man leicht erkennen, ob ein Job erfolgreich durchgeführt wurde.

nis_jenkins

Wir legen höchste Priorität auf störungsfrei laufende Projekte.  Aus diesem Grund lassen wir unser, prominent am Eingang platziertes Firmenlogo,  je nach Projektstatus in den Ampelfarben leuchten. Dafür haben wir ein Jenkins-Plugin namens NIS Notification Lamp in Java entwickelt. Dieses Plugin wertet anhand eines Prozentwertes den Erfolg aller Jobs innerhalb einer Gruppe aus und sendet den String „SUCCESS“ oder „FAILURE“ per UDP an einen hinterlegten Server.

nis_lamp_plugin

Die Funktionalität des Zielservers werden wir im nachfolgenden Beitrag beschreiben. Dieser wird hier verlinkt, sobald er veröffentlicht wird.