Kurzbeschreibung
Dies ist ein vom Dozenten geleiteter fortgeschrittener Kurs für Continous Integration (CI) und Delivery (CD) mit Jenkins Pipeline.
Jenkins Pipeline ist eine Reihe von Plug-Ins, die die Implementierung und Integration von Continous Delivery Pipelines in Jenkins unterstützen. Eine Pipeline ist ein automatisierter Ausdruck des Ablaufprozesses, um Software von der Versionskontrolle bis hin zum Nutzer zu bringen. Dieser Prozess umfasst die Erstellung der Software auf wiederholbare Weise und das Durchlaufen mehrerer Test- und Bereitstellungsprozesse für die erstellte Software. Wer eine Pipeline mit einem herkömmlichen CI-Tool durch Verketten einzelner Jobs eingerichtet hat, der weiß, wie unübersichtlich ein solches Unterfangen werden kann.
Dieser Jenkins Kurs zeigt, wie sie die wesentlichen Vorteile von Pipeline as Code in Jenkins nutzen können. Sie lernen die gesamte Pipeline mittels einer Groovy-DSL an zentraler Stelle in einer Script Datei (Jenkinsfile) als Code zu definieren. Dabei wird auf die zwei möglichen Syntaxparadigmen der DSL (imparativ gescripted und deklarativ) und deren Vorteile eingegangen. Mit dem Wissen kann das Schreiben von Pipeline-Scripts beginnen. Geschult werden verschiedene Scripting Varianten, wie unterschiedliche SCM Tools unterstützt werden, eine Pipeline konfiguriert und am Ende des Pipeline-Laufs das Thema Fehlerbehandlung integriert wird. Performancethemen werden im Rahmen von Parallelisierung und Nebenläufigkeit intensiver diskutiert. Den Abschluss bildet das Einbinden von Bibliotheken. Dies kann interessant sein, wenn Hilfsfunktionen und Prozessschritte zentral für mehrere Pipeline as Code Projekte bereitgestellt werden sollen oder die Zusammenarbeit unterschiedlicher Bereiche verbessert werden soll.
Voraussetzungen
• Teilnahme an einem der nachfolgenden Kurse oder gleichwertige Kenntnisse:
Seminarinhalt
Die Jenkins Pipeline
• Features des Jenkins 2
• Groovy, Jenkins API und Plugins
• wichtige Sprachmittel der Pipeline
• scripted versus deklarative Pipeline
• Pipeline Workspaces
Script Commands
• Shell Scripte und Windows Batch
• Verwendung von Error Codes und Log-Ausgaben
• Groovy, Maven, Python, Shell Scripting
• Beispiel und praktische Übung
Sourcecode Checkout
• SCM Anbindung in der Pipeline
• Git, SVN, TFS
• SCM Strategien und Jenkins
• Beispiel und praktische Übung
Parameters & Flow control
• Pipeline Konfiguration, Trigger
• Pipeline Parameter
• Eingabe durch input
• Pipelines verketten
File Handling
• wichtige und nützliche Sprachmittel
• Austausch von Dateien
• Archivieren von Artefakten
• Beispiel und praktische Übung
Error Handling
• Eigenschaft und Zustand einer Pipeline
• try / catch / finally
• Fehlerbehandlung in der deklarativen Pipeline
• Best Practices und praktische Übung
Parallelisierung
• Das Schlüsselwort “parallel”
• parallel im Code oder als Variable?
• Verteilung über Nodes
Nebenläufigkeit
• Motivation der Nebenläufigkeit
• Lock und Lockable Ressources
• Milestones
• Beispiel und praktische Übung
Shared Library
• Arten von Libraries und deren Anwendung
• Libraries im Jenkins konfigurieren
• Libraries in der Pipeline verwenden
• Beispiel und best practices
• praktische Übung
Zielgruppen
Zielgruppe dieses Kurses sind Teams die Jenkins als führendes Automatisierungssystem im Einsatz haben. Zu den Rollen zählen DevOps Spezialist:innen, Entwickler:innen, Supporter:innen und Administrator:innen.
Preise und Termine
Software
Geschult wird grundsätzlich auf der aktuellsten Jenkins Pipeline Version, die für einen produktiven Betrieb eingesetzt werden kann. Sofern gewünscht kann auch auf anderen Versionen geschult werden.
Seminarsprache
die Seminarsprache ist deutsch, sofern keine andere Angabe. Englisch ist in aller Regel machbar, andere Seminarsprachen sind möglich, fragen Sie bitte an.