Jenkins – Continuous Integration Reloaded

Keine Kommentare

Kontinuierliche Integration ist bereits seit längerer Zeit ein integraler Bestandteil unseres Software-Enwicklungs-Prozesses. Und natürlich stellte sich uns zu Beginn die Frage auf welches Werkzeug wir an dieser Stelle setzen sollen. Und die Tool-Frage ist unter Entwicklern ja immer extrem beliebt :-). Bei einem Vergleich zwischen Hudson, Bamboo und Cruise Control war Hudson damals unser klarer Favorit.

Mit der Übernahme von Sun durch Oracle kam es zu heftigen Verwerfungen im Hudson-Projekt, welche schließlich dazu führten, dass die ursprünglichen Entwickler sich für eine Abspaltung entschieden haben: Die Geburtsstunde von Jenkins. Als eher technisch orientierter Typ will ich hier nicht die politischen Aspekte dieser ganzen Aktion beurteilen. Statt dessen möchte ich mir anschauen, wie sich denn Jenkins im Vergleich zum bekannten Hudson anfühlt. Dabei erwarte ich keine großen Veränderungen, aber schauen wir mal.

Der neue Name Jenkins wurde wohl ausgewählt, um wieder die Assoziation mit einem dienstbaren Butler herzustellen. Allerdings hat der Name auch noch eine ganz lustige Geschichte über einen World of Warcraft Spieler zu bieten. Aber dies ist vermutlich nur Zufall.


Bei einem ersten Blick auf die neue Homepage von Jenkins fühlt man sich als Hudson-Benutzer definitiv sofort zu Hause. Auf der Homepage des Hudson-Projekts hat sich auch einiges getan, zumindest was das Design angeht.

Jetzt aber zum technischen Teil. hier ist Jenkins immer noch die Referenz für mich (dies gilt allerdings auch für Hudson) wenn es um die Einfachheit der Installation geht. Drei einfache Schritte reichen:

  1. Herunterladen des jenkins.war in ein lokales Verzeichnis.
  2. Starten des Servers im Standalone-Modus: java -jar jenkins.war
  3. Öffnen der Jenkins Web-Oberfläche, um neue CI-Aufträge anzulegen.

Beim Hochfahren des Servers kann Jenkins seine Hudson-Wurzeln nicht wirklich verleugnen, aber andererseits: Warum sollte er?

Ein erster Blick auf die Oberfläche birgt dann doch eine kleine Überraschung, denn hier finden sich bereits die Projekte, welche zuvor mittels einer lokalen Hudson-Instanz angelegt wurden.

Dies vereinfacht die Migration von Hudson auf Jenkins natürlich enorm und ist auch auf einer Linie mit der entsprechenden Upgrade-Dokumentation auf der Jenkins Homepage. Das Anlegen von neuen CI-Aufträgen kommt ehemaligen Hudson-Benutzern mehr als nur ein wenig vertraut vor. Für neue Benutzer wird nach wie vor die Einfachheit mit der neue Jobs erzeugt werden können ein starkes Argument für Jenkins sein

Hierzu kann ein Benutzer aus einer Liste von Projekt-Typen den passenden auswählen. Für mich sind dies im Allgemeinen Free-Style Projekte, welche dem Benutzer einen großen Freiheitsgrad gewähren oder aber Maven-Projekte.

Die weitere Konfiguration der Aufträge, sowie die Ausführung und das Beobachten der Ergebnisse gehen gewohnt leicht von der Hand. Für altgediente Hudson-Benutzer gibt es hier nichts wirklich Neues :-).

Wie geht es weiter? Momentan ist der Unterschied zwischen Jenkins und Hudson (oder Hudson und Jenkins) marginal. Dies liegt natürlich darin begründet, dass die Abspaltung noch sehr frisch ist und noch nicht wirklich Zeit war (revolutionäre) neue Features einzubauen. Langfristig wird es natürlich spannend sein zu beobachten in welche Richtungen sich die beiden Tools weiterentwickeln. Und natürlich geht es nicht nur bei Jenkins weiter, sondern auch das Hudson-Projekt wird weiter voran getrieben und zum Beispiel Sonatype favorisiert bei der Weiterentwicklung Hudson.

Für uns als Benutzer gibt uns dies für die Zukunft eine größere Auswahl an Werkzeugen und wir haben denke ich hier ganz spannende Zeiten vor uns in Hinblick auf die weitere Entwicklung der CI-Tools.

Thomas Jaspers

Langjährige Erfahrung in agilen Softwareprojekten unter Einsatz von Java-Enterprise-Technologien. Schwerpunkt im Bereich der Testautomatisierung (Konzepte und Open-Source Werkzeuge).

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.