jenkins-pipelines

Als agil arbeitendes Unternehmen gehört es in der Virality zur Tagesordnung, Software zu veröffentlichen und möglichst früh Kundenfeedback in die weitere Verbesserung des Produkts einfließen lassen zu können. Dabei haben sich im Laufe der Zeit Best-Practices durchgesetzt, die uns – durch Build-Tools und Konsolenskripte unterstützt – schnell zu einem Release führen.

Diese manuellen Releases funktionieren zwar meist gut, haben aber auch Probleme: Genannt sind hier in erster Linie Fehler bei der Ausführung des Ablaufs, weil Schritte vergessen oder bewusst übersprungen werden. Die manuelle Ausführung hat zudem den Nachteil, dass kein Protokoll von dem Deployment gespeichert wird, sodass im Fehlerfall nicht nachvollzogen und verglichen werden kann, was schief gegangen ist. Nicht zuletzt können lokale Builds auch nicht sicherstellen, ob diese auch auf anderen Maschinen ausgeführt werden können.

Um diese Probleme zu beheben, setzen wir Jenkins ein um möglichst viele Schritte im Build- und Deploymentprozess zu automatisieren. Das behebt nicht nur obengenannte Probleme, sondern spart auch Zeit und motiviert: repetitive Aufgaben müssen nichtmehr durch Entwickler erledigt werden sondern funktionieren einfach! Wichtig beim Einsatz von Tools, speziell auch im Kontext von Jenkins ist uns, dass diese Tools unsere nicht Abläufe dominieren, sondern diese unterstützen und vereinfachen.
Jenkins ist dafür die richtige Wahl: Es existieren sehr viele Plugins, die alle möglichen Aspekte eines Builds anpassbar machen. Die Konfiguration der Plugins fand in Version 1 von Jenkins durch Zusammenklicken auf der Weboberfläche statt. Seit Version 2 existiert nun die Möglichkeiten Groovy Skripte zur Konfiguration zu verwenden, die wiederum in einem SCM (Source Code Management System) verwaltet werden können. Dies ermöglicht die Nachvollziehbarkeit von Änderungen in der Konfiguration und speichert diese direkt beim Projektcode. Dadurch bleiben auch die Beziehung zum Projekt und dessen Buildanweisungen erhalten.

In der folgender Zeit werden an dieser Stelle eine Reihe von Artikeln veröffentlicht, die einige Aspekte unserer Abläufe und teilweise technische Lösungen für das noch recht junge und an manchen Stellen nicht ganz runde Pipeline Plugin System beschreibt.

Wir freuen uns, falls das zu Inspiration für die eigenen Abläufe führt und hoffen auf regen Austausch zu dem Thema!

 

Über den Autor