Deep-Dive-Trainings zu Continuous Delivery,
DevOps und Containerisierung
Darmstadt, darmstadtium
4.– 6. Juni 2019

// Continuous Delivery mit Jenkins X und Kubernetes

Wer sich in die Welt von DevOps begibt, kommt um den Einsatz von Continuous Delivery und Automatisierung nicht herum. Für die kontinuierliche Verbesserung und die nötige Beschleunigung der Feedback-Zyklen sind diese Themen von essenzieller Bedeutung. Eines der bekanntesten Werkzeuge hierfür ist der Continuous Integration Server Jenkins.

Im Zusammenspiel mit Kubernetes für den Betrieb von Docker Containern ergibt sich eine mächtige DevOps-Plattform. Zudem hat sich mit Jenkins X eine neue Distribution herauskristallisiert, die die Konzepte der Cloud-native Entwicklung auf Kubernetes überträgt.

Im Rahmen des Trainings wird zunächst ein Kubernetes Cluster erstellt und dann Jenkins X darauf installiert. Anschließend erstellen wir eine Demo-Applikation, an der wir exemplarisch den Weg in die Produktion durch mehrere Umgebungen demonstrieren. Dabei wird zunächst eine Umgebung für automatische Tests aufgebaut, die Applikation getestet und dann wieder gelöscht. Das selbe erfolgt nochmals für manuelle Tests. Sollte der Nutzer danach die Version freigeben, wird die Applikation in Produktion bereitgestellt. Die einzelnen Schritte werden jeweils für den gesamten Kurs präsentiert. Wer interessiert ist, kann dies gerne auf seinem eingenen Laptop und seiner Cloud nachvollziehen.

In den Pausen, die durch die Builds entstehen, werden wir uns jeweils den zugehörigen Code anschauen, um die Teilnehmer mit den Zusammenhängen innerhalb der Plattform vertraut zu machen.

Vorkenntnisse
Das Training richtet sich an Personen, die eine CD-Pipeline aufbauen oder betreuen wollen. Ein grundlegendes Verständnis der Abläufe in der Softwareentwicklung sowie Kenntnisse im Umgang mit der Versionsverwaltung git werden vorausgesetzt. Die Beispiele werden auf der Google Cloud Platform aufgebaut. Für ein direktes Nachvollziehen wird daher ein dortiger Account vorausgesetzt.

Lernziele
* Setup eines Kubernetes-Clusters und einer Jenkins-X-Instanz auf GCP
* Verwalten und Erstellen verschiedener Umgebungen
* Erstellen einer neuen Applikation und der Propagation dieser durch die Pipeline
* Entwicklungs-Workflow für Continuous Delivery mit Pull Requests und Review Apps
* Grobes Verständnis der Zusammenhänge in Jenkins X

Technische Anforderungen

  • Laptop

  • Google Cloud Account

// Referent

Nicolas Byl Nicolas Byl

sammelte bereits während des Studiums der Medizinischen Informatik erste Erfahrungen im Umfeld Java-basierter Webportale und entdeckte seine Leidenschaft für verteilte Systeme. Bei der codecentric AG beschäftigt er sich mit skalierbaren Cloud-nativen Infrastrukturen für die Applikationsentwicklung und die Verarbeitung von Datenströmen.