Jenkins-Gründer will umbauen

The Jenkins project (http://jenkins-ci.org)

Neue Pläne für Jenkins stellt dessen Erfinder Kohsuke Kawaguchi vor. Er will die Entwicklung von Jenkins 2 beschleunigen und zugleich eine Cloud Native Version veröffentlichen.

Laut dem längere Blogpost Cloudbee CTO Kawaguchi stecke die Open-Source-Software in einem “lokalen Optimum” fest. Die CI/CD-Landschaft (Continuous Integration und Continuous Delivery) habe sich komplett verändert, Jenkins nun zwar Kernbestandteil in vielen Unternehmen, dafür aber zu schwierig zu verwenden und vor allem zu skalieren.

Hinzu komme, dass die Entwickler und Admins Angst davor hätten, Jenkins und seine Plugins zu aktualisieren, aus Angst, Dinge kaputt zu machen. Auch Jenkins ursprüngliches Lego-Prinzip sei heute nicht mehr angemessen. Entwickler brauchen schlüsselfertige Lösungen.

Um die Herausforderungen zu meistern, solle sich das Projekt auf zwei Schlüsselziele konzentrieren: Einerseits soll es ein Cloud Native Jenkins aus der Taufe heben, andererseits in der Jenkins-2-Entwicklung einen Zahn zulegen.

Cloud Native Jenkins

Cloud Native Jenkins (CNJ) soll unter anderem eine generalisierbare CI/CD-Engine mitbringen, die auf Kubernetes läuft. Es soll eine fundamental andere Architektur und einen neuen Erweiterungsmechanismus verwenden und dadurch zusammen mit Kubernetes beliebig skalieren. Es soll eine Serverless/FaaS-Build-Execution ermöglichen, bestimmte Funktionalitäten als Microservices und Container anbieten und die Dienste sollen über Custom Ressource Definitions (CRDs) mit Kubernetes reden. Jenkinsrunner sei hierfür ein Beispiel.

Minimum Viable Product (MVP)

Laut Kawaguchis Vorschlag soll im ersten Schritt ein Minimum Viable Product (MVP) entstehen. Dafür soll das Projekt bestehende Bemühungen von Jenkins Pipeline, Jenkins Evergreen, Jenkinsfile Runner sowie Jenkins Configuration as Code zusammenführen, um eine FaaS-artige Jenkins Build Engine zu bauen, auf die Jenkins X aufsetzen kann.

Eine grafische Oberfläche bringt das MVP erstmal nicht mit, diese könne später ergänzt werden. Dann vermutlich aber als Cloud Native App, nicht als Plugin.

Jenkins 2 Reloaded

Neben der Baustelle soll das Projekt nach Vorstellung von Kawaguchi und weiteren Entwicklern Version 2 weiter entwickeln, dabei aber einen Zahn zulegen. Man will sich notfalls auch von einigen Komponenten trennen, um künftig schneller zu entwickeln und eine höhere Stabilität zu erreichen.

Einige Kernentwickler denken über ein neues Release-Modell nach. Jenkins werde dann nicht mehr “für immer kompatibel” bleiben, sondern neue Major-Versionen einführen, die Upgrades erfordern. Zugleich will man helfen, existierende Jobdefinitionen und Freestyle Jobs zu bewahren.

Weitere Vorschläge sehen vor, Configuration as Code stärker in den Vordergrund zu rücken und zu beschleunigen, die Entwicklererlebnisse durch automatisches Erkennen von Projekttypen zu verbessern und die Jenkins Pipeline weiter zu optimieren. Zugleich wolle die angebotenen Funktionen sinnvoll und nach Absprache mit der Community reduzieren.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben