© Macrovector/Shutterstock.com
Mit der Migration zu Kubernetes wird bei Jenkins alles anders

Jenkins-less CI/CD mit Kubernetes


Jenkins X ist das jüngste Produkt aus dem Hause CloudBees, dem Hersteller von Jenkins. Außer dem Namen bleibt nicht viel von der weitverbreiteten Continuous-Anything-Plattform, die weitere Verwendung des Namens Jenkins ist sowohl Heilsversprechen als auch Menetekel. Zum einen versucht man wohl, die Jünger des altbekannten Butlers mitzunehmen, zum anderen schreckt man leider auch neue potenzielle Nutzer ab.

Mit Jenkins verband viele seiner Fans und Kritiker eine Hassliebe: Das Ökosystem rund um den klassischen Jenkins ist mit seinen über 1 000 Plug-ins sehr leistungsfähig und vielseitig, aber leider auch kompliziert und fehleranfällig. Wird sich das mit Jenkins X ändern? Viele Nutzer suchen (vermeintlich) einfache Build Engines, wie sie z. B. durch das inzwischen eingestellte Travis CI auf Basis einer YAML-Konfigurationsdatei vorlagen. Aber was ist mit komplexeren Build- oder Deployment-Szenarien? Lassen die sich damit realisieren? Sind sie überhaupt noch nötig? Jenkins X versucht, neue Wege zu gehen, aber gleichzeitig konzeptionell an die vielen Jahre Erfahrung der Jenkins-Entwicklung und die daraus gewachsene Gemeinde der Nutzer anzuknüpfen.

Die gute Nachricht: Jenkins X realisiert wie der Vorgänger im weitesten Sinne auch wieder eine Continuous-Integration/Delivery-Plattform – allerdings technisch komplett anders als der Vorgänger. Außerdem ist Jenkins X auch wieder ein Open-Source-Projekt [1] und es gibt kommerziellen Support von CloudBees [2].

So gut wie alles ist technisch neu, wobei die wichtigste Änderung die Ausführungsplattform betrifft. Jenkins X funktioniert ausschließlich auf Kubernetes und Derivaten wie OpenShift. Es kann sich potenziell um ein sehr kleines Kubernetes mit nur einem Knoten handeln, aber die Verwendung von Kubernetes ist unabdingbare Voraussetzung, da Jenkins X in vielen Komponenten eine Erweiterung von Kubernetes ist. Es implementiert viele seiner Funktionen als sogenannte Custom Resource Definitions und erweitert damit das Kubernetes API (Kasten: „Jenkins-X-Background: Kubernetes und Helm“).

Jenkins X wird von einem komplett neu aufgebauten Team rund um James Strachan entwickelt. James gehörte schon zu den Urvätern von Groovy, dem Apache-Camel-Projekt und auch dem von Red Hat getriebenen fabric8. Der Urheber von Jenkins, Kohsuke Kawaguchi, spielt bei Jenkins X keine Rolle mehr und hat CloudBees mittlerweile verlassen.

Ebenso ist der klassische Jenkins kein Bestandteil des Jenkins-X-Universums mehr. Zu Beginn der neuen Plattf...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang