Mit Jenkins X wird CI/CD zur Commodity: Ein jx-Cmdline-Aufruf provisioniert eine vollständige CI/CD-Umgebung: Gitrepo mit Jenkins-Pipeline-Anschluss, Build-Artefakte deploy-freundlich verpackt in Helm Charts, GitOps-gemanagte Deployment-Umgebungen auf dem zugrundeliegenden Kubernetes-Cluster.
Ziel des Workshops ist die intensive Auseinandersetzung mit dem vom Jenkins-X-Team propagierten Workflow und Toolset. Welche Continuous-Delivery-Prinzipien stehen hinter dem Jenkins-X-Ansatz und wie gut passt der propagierte Workflow zu meinen realen Projektanforderungen? An welchen Stellen lässt sich eine Jenkins-X-Pipeline sinnvollerweise erweitern und auf die eigenen Bedürfnisse anpassen?
Agenda
- ab 10.00 Registrierung und Begrüßungskaffee
- 11.00: Beginn
- Warum CICD?
- CICD Grundprinzipien und wie sie in Jenkins-X Pipelines implementiert sind.
- Anatomie einer Jenkins-X Pipeline.
- Welche Werkzeuge kommen zum Einsatz und welchen Entwicklungsworkflow sieht Jenkins-X vor?
- Aufsetzen einen eigenen, lokalen Kubernetes Clusters mit dem Jenkins X Kommandozeilen Werkzeug jx.
- 12.30 - 13.30: Mittagspause
- Die Jenkins-X Magie verstehen.
- Aufsetzen einer Jenkins-X Pipeline für eine Beispielapplikation.
- Zusammenspiel mit Gitrepos auf Github.
- Auffrischen der wichtigsten Docker & Kubernetes Konzepte.
- Helm als K8s App Package Manager.
- 15.00 - 15.15: Kaffeepause
- Helm im Jenkins-X Context.
- GitOps, Environments & Automated Promotion verstehen.
- Integration Tests gegen deployte Anwendungen in die Pipeline integrieren.
- 16.30 - 16.45: Kaffeepause
- Jenkins-X Developer Experience.
- Preview Environments für Featuretesting.
- Visual Studio Code mit DevPods nutzen.
- Zeit für individuelle Themen.
- ca. 18 Uhr: Ende
Technische Anforderungen:
- Unser Workshopmaterial und alle benötigten Tools bringen wir in Form einer Virtualbox virtuellen Maschine mit, die wir zu Beginn des Workshops per USB Stick verteilen.
- Bitte stellen Sie sicher, dass Sie Oracle Virtual Box 5.x installiert haben und in der Lage sind, auf Ihrem Laptop virtuelle Maschinen zu starten (kontrollieren Sie bitte ggf. ob im BIOS alle nötigen Virtualisierungsfeatures eingeschaltet sind).
- Damit unsere Workshopbox bei Ihnen „vernünftig“ läuft, benötigen Sie mindestens 2GB freien Hauptspeicher (optimalerweise 4GB) und ca 5GB freien Festplattenplatz.
Vorkenntnisse
* Docker-Basiswissen (Apps dockerisieren, das heißt eigene Images erzeugen und in einer Registry ablegen).
Lernziele
* Welche Continuous-Delivery-Prinzipien stehen hinter dem Jenkins-X-Ansatz?
* Kubernetes-Cluster per jx Command: Wie alltagstauglich ist der mit jx erzeugte Kubernetes-Cluster?
* Helm Charts als Build-Artefakte: Zu welchen Usecases passt Helm?
* Welche Rolle spielen die Apps Chartmuseum und Monocular?
* Welche alternativen Docker Registries bieten sich an, wenn die integrierte nicht reicht?
* Wie funktioniert Release Automation mit GitOps?
* An welchen Stellen einer Jenkins-X-Pipeline klinkt man seine (bestehenden) Tests ein?
// Referenten
Alexander Birk
@alexanderbirk
arbeitet seit 18 Jahren als Freiberufler mit Christoph Lukas unter dem Namen pingworks. pingworks begleitet und unterstützt Unternehmen rund um das Thema Agilität. Dabei geht es auf der einen Seite um alle Aspekte der agilen Softwareentwicklung (Continuous Delivery, DevOps) auf der anderen Seite um all die Aspekte von Agilität, die Auswirkungen auf die Gesamtorganisation haben, zum Beispiel Wertstromoptimierung, Führungsverständnis, Selbstorganisation oder Unternehmenskultur.
Christoph Lukas
@cluk33
arbeitet seit 18 Jahren als Freiberufler mit Alexander Birk unter dem Namen pingworks. pingworks begleitet und unterstützt Unternehmen rund um das Thema Agilität. Dabei geht es auf der einen Seite um alle Aspekte der agilen Softwareentwicklung (Continuous Delivery, DevOps) auf der anderen Seite um all die Aspekte von Agilität, die Auswirkungen auf die Gesamtorganisation haben, zum Beispiel Wertstromoptimierung, Führungsverständnis, Selbstorganisation oder Unternehmenskultur.