© Excellent backgrounds/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-Background: Kubernetes und Helm

Jenkins X läuft ausschließlich auf Kubernetes und nutzt für viele Dinge den Kubernetes-Package-Manager Helm. Beide Technologien können wir hier nur kurz und relativ allgemein anreißen.

Kubernetes

Kubernetes ist eine Abstraktion über verschiedene Cloud-Provider. Es basiert auf der Docker-Technologie und ermöglicht die Orchestrierung von Anwendungscontainern (Feinheiten wie die Verwendung von ande...

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