Beschreibung
Jenkins ist ein Open-Source-Automatisierungsserver, der hauptsächlich für Continuous Integration (CI) und Continuous Delivery (CD) zum Einsatz kommt. Er unterstützt Entwickler und Teams dabei, den Entwicklungsprozess zu automatisieren, indem er wiederholbare Aufgaben wie das Bauen, Testen und Bereitstellen von Software automatisiert.
Jenkins ist ein zentrales Werkzeug in der modernen Softwareentwicklung und wird häufig in DevOps-Umgebungen eingesetzt, um den Entwicklungsprozess zu optimieren und die Bereitstellung von Software zu beschleunigen. Es bietet eine flexible, skalierbare Lösung für die Automatisierung nahezu jedes Aspekts des Softwareentwicklungslebenszyklus.
In dieser Schulung vermitteln wir theoretische Grundlagen, die durch praktische Übungen gefestigt und vertieft werden. Zusammen mit Tipps aus der Praxis kann das Gelernte direkt in der täglichen Arbeit umgesetzt werden.
Lerninhalte
Einführung
- Funktionalität
- Architektur
- Installation
Jenkins Tour
- Übersicht UI
- Jenkins Konfiguration: System, Plugins, Agents, Security, …
- Strukturierung von Projekten
- Visualisierung von Pipelines / Jobs
Jenkins CI/CD
- Warum CI/CD?
- Grundlegender Pipeline Aufbau: Agent, Stages, Steps, …
- Verwendung von Agents
Erstellen von deklarativen Pipelines
- Deklarative Build, Test und Deploy Stages
- Ausführen von Code Formatierungs- sowie statischen Code Analyse Tools
- Ausführen von Unit Tests
- Integration der Testergebnisse und Code Coverage in Jenkins
- Umgang mit Secrets
- Deployment von Artefakten wie z.B. Docker Images oder Python Paketen
Erstellen von scripted Pipelines
- Einführung in scripted Pipelines
- Vergleich von deklarativen und scripted Pipelines
- Scripted Build, Test und Deploy Stages
Einsatz von Jenkins Shared Libraries
- Einführung in Jenkins Shared Libraries
- Verwenden von Shared Libraries in Jenkins Pipelines
- Erstellen eigener Steps und Stages als Shared Libraries
Lernziele
- Erfolgreicher Einsatz von Jenkins im modernen DevOps Umfeld
- Aufbau einer umfangreichen CI/CD Pipeline anhand von Beispiel Projekten
- Visualisierung der Resultate (z.B. Testresultate, Code Coverage, statische Code Analyse) aus der CI/CD Pipeline in Jenkins
- Erstellen und verwenden von deklarativen und scripted Pipelines
- Erstellen von eigenen Pipeline Komponenten mit Shared Libraries