DevOps ist in modernen Softwareunternehmen vertreten. Der aktuelle Ansatz des Continuous Deployment ist sowohl progressiv als auch radikal. Daher soll in dieser Arbeit erläutert und diskutiert werden, welche Chancen und Herausforderungen Continuous Deployment aus Anwendersicht bietet.
In der Vergangenheit fiel es auffallend vielen Unternehmen schwer, prozessübergreifende Verbesserungen zu identifizieren und zu implementieren, da hier der Fokus zu sehr auf den Prozessen und alltäglichen Aufgaben eines separierten IT-Fachbereichs lag. Daher wurde nicht auf angrenzende Fachbereiche geachtet. Indessen machen es große, bekannte Unternehmen vor, wie durch Zusammenarbeit der IT-Fachbereiche der Wertbeitrag von IT-Diensten gesteigert und auf diesem Niveau stabilisiert werden kann, sodass die Wertschöpfung des Unternehmens weiter maximiert wird.
Inhaltsverzeichnis
- 1 Einleitung
- 1.1 Einführung in die Thematik
- 1.2 Problemstellung und Zielsetzung
- 1.3 Methodischer Aufbau der Arbeit
- 2 CI/CD Pipeline in der Theorie
- 2.1 CI/CD in der agilen Softwareentwicklung
- 2.2 CI Prozess
- 2.2.1 Versionsverwaltung und Branching Strategie
- 2.2.2 Selbstauslösende Builds
- 2.2.3 Testpyramide und Testarten
- 2.2.4 Continuous Inspection
- 2.2.5 Automatisiertes Packaging
- 2.3 Continuous Delivery- und Continuous Deployment Prozess
- 2.4 CD Prozess: Aufbau von OpenShift
- 3 Umstellung der CI/CD Pipeline in der Praxis
- 3.1 Systeme und Produkte
- 3.2 CI Pipeline mit Jenkins
- 3.2.1 Continuous Integration Server mit Jenkins
- 3.2.2 Code entwickeln mit Bitbucket, Branchingstrategie und Feature Toggles
- 3.2.3 Bauen und testen mit Buildah und SonarQube
- 3.2.4 Inspizieren mit Anchore
- 3.2.5 Bündeln mit Nexus
- 3.2.6 Reporten mit Allure
- 3.3 CD Pipeline mit OpenShift
- 3.3.1 Vorbereitung
- 3.3.2 Pipeline
- 3.3.3 Image Stream
- 3.3.4 Integrationstests mit SpecFlow
- 3.3.5 Image als getestet markieren
- 3.3.6 Reporte mit Allure
- 3.3.7 Säuberungsaktion
- 4 Schluss
- 4.1 Grenzen
- 4.2 Fazit
Zielsetzung und Themenschwerpunkte
Diese Bachelorarbeit untersucht die Chancen und Herausforderungen der Umstellung von Continuous Delivery auf Continuous Deployment im Kontext von DevOps. Ziel ist es, die theoretischen Grundlagen von CI/CD Pipelines zu erläutern und deren praktische Umsetzung anhand eines konkreten Beispiels zu beschreiben. Dabei werden die einzelnen Schritte des Prozesses detailliert analysiert und mögliche Probleme beleuchtet.
- Einführung in die CI/CD Pipeline und deren Komponenten
- Vergleich zwischen Continuous Delivery und Continuous Deployment
- Praktische Umsetzung der CI/CD Pipeline mit verschiedenen Tools
- Herausforderungen bei der Implementierung und mögliche Lösungsansätze
- Bewertung der Effizienzsteigerung durch die Umstellung
Zusammenfassung der Kapitel
1 Einleitung: Dieses Kapitel führt in die Thematik von DevOps, Continuous Integration (CI) und Continuous Deployment (CD) ein. Es beschreibt die Problemstellung, die mit der Umstellung von Continuous Delivery auf Continuous Deployment verbunden ist, und definiert die Ziele der Arbeit. Der methodische Aufbau der Arbeit wird ebenfalls erläutert, um dem Leser einen klaren Überblick über die Struktur und den Ablauf der Untersuchung zu geben. Die Einleitung stellt den Kontext und die Motivation für die vorliegende Arbeit dar und bereitet den Leser auf die folgenden Kapitel vor.
2 CI/CD Pipeline in der Theorie: Dieses Kapitel behandelt die theoretischen Grundlagen von CI/CD Pipelines im Kontext der agilen Softwareentwicklung. Es beschreibt detailliert den CI-Prozess, einschließlich Versionsverwaltung, Branching-Strategien, automatisierten Builds, Testpyramiden und Continuous Inspection. Der CD-Prozess wird ebenfalls erklärt, mit besonderem Fokus auf den Aufbau von OpenShift als Beispiel einer CD-Umgebung. Dieses Kapitel dient als fundierte Basis für das Verständnis der praktischen Umsetzung in den folgenden Kapiteln. Die Erklärung der verschiedenen Prozesse und Methoden ermöglicht eine fundierte Beurteilung der Effizienz und der Herausforderungen in der Praxis.
3 Umstellung der CI/CD Pipeline in der Praxis: In diesem Kapitel wird die praktische Umsetzung der CI/CD Pipeline detailliert beschrieben. Es werden die verwendeten Systeme und Produkte vorgestellt, und der Fokus liegt auf der Implementierung der CI-Pipeline mit Jenkins, einschließlich Codeentwicklung mit Bitbucket, Build- und Testprozessen mit Buildah und SonarQube, Inspektion mit Anchore, Packaging mit Nexus und Reporting mit Allure. Die Implementierung der CD-Pipeline mit OpenShift wird ebenfalls erläutert, einschließlich der Vorbereitung, der Pipeline selbst, des Image Streams, der Integrationstests mit SpecFlow, des Markierens von Images als getestet und des Reportings mit Allure. Die Säuberungsaktion wird ebenfalls beschrieben. Dieses Kapitel demonstriert die praktische Anwendung der im vorherigen Kapitel erläuterten Theorie und zeigt die Herausforderungen und Lösungen bei der Umsetzung auf.
Schlüsselwörter
DevOps, Continuous Integration (CI), Continuous Delivery (CD), Continuous Deployment, CI/CD Pipeline, Agile Softwareentwicklung, Jenkins, OpenShift, Bitbucket, Buildah, SonarQube, Anchore, Nexus, Allure, Automatisierung, Testpyramide, Versionsverwaltung, Branching Strategie, Feature Toggles.
Häufig gestellte Fragen
Was ist das Thema der Bachelorarbeit?
Die Bachelorarbeit untersucht die Chancen und Herausforderungen der Umstellung von Continuous Delivery auf Continuous Deployment im Kontext von DevOps.
Was sind die Hauptziele der Bachelorarbeit?
Ziel ist es, die theoretischen Grundlagen von CI/CD Pipelines zu erläutern und deren praktische Umsetzung anhand eines konkreten Beispiels zu beschreiben. Dabei werden die einzelnen Schritte des Prozesses detailliert analysiert und mögliche Probleme beleuchtet.
Welche Themenschwerpunkte werden in der Arbeit behandelt?
Die Arbeit behandelt folgende Themenschwerpunkte: Einführung in die CI/CD Pipeline und deren Komponenten, Vergleich zwischen Continuous Delivery und Continuous Deployment, praktische Umsetzung der CI/CD Pipeline mit verschiedenen Tools, Herausforderungen bei der Implementierung und mögliche Lösungsansätze, und Bewertung der Effizienzsteigerung durch die Umstellung.
Was behandelt Kapitel 1 der Bachelorarbeit?
Kapitel 1 führt in die Thematik von DevOps, Continuous Integration (CI) und Continuous Deployment (CD) ein. Es beschreibt die Problemstellung, definiert die Ziele der Arbeit und erläutert den methodischen Aufbau.
Was wird in Kapitel 2 der Arbeit behandelt?
Kapitel 2 behandelt die theoretischen Grundlagen von CI/CD Pipelines im Kontext der agilen Softwareentwicklung. Es beschreibt detailliert den CI-Prozess (Versionsverwaltung, Branching-Strategien, automatisierten Builds, Testpyramiden, Continuous Inspection) und den CD-Prozess, mit Fokus auf den Aufbau von OpenShift.
Was ist der Inhalt von Kapitel 3?
Kapitel 3 beschreibt die praktische Umsetzung der CI/CD Pipeline. Es werden die verwendeten Systeme und Produkte vorgestellt und die Implementierung der CI-Pipeline mit Jenkins (Codeentwicklung mit Bitbucket, Build- und Testprozesse mit Buildah und SonarQube, Inspektion mit Anchore, Packaging mit Nexus und Reporting mit Allure) erläutert. Ebenso wird die Implementierung der CD-Pipeline mit OpenShift beschrieben.
Welche Schlüsselwörter sind mit dieser Bachelorarbeit verbunden?
Die Schlüsselwörter sind: DevOps, Continuous Integration (CI), Continuous Delivery (CD), Continuous Deployment, CI/CD Pipeline, Agile Softwareentwicklung, Jenkins, OpenShift, Bitbucket, Buildah, SonarQube, Anchore, Nexus, Allure, Automatisierung, Testpyramide, Versionsverwaltung, Branching Strategie, Feature Toggles.
Welche Tools werden in der praktischen Umsetzung der CI/CD Pipeline verwendet?
Die Arbeit verwendet Jenkins, OpenShift, Bitbucket, Buildah, SonarQube, Anchore, Nexus und Allure.
Was sind die Hauptbestandteile des CI-Prozesses, die in der Arbeit beschrieben werden?
Die Arbeit beschreibt Versionsverwaltung, Branching-Strategien, automatisierten Builds, Testpyramiden und Continuous Inspection als Hauptbestandteile des CI-Prozesses.
Was wird in der CD-Pipeline mit OpenShift implementiert?
In der CD-Pipeline mit OpenShift werden die Vorbereitung, die Pipeline selbst, der Image Stream, die Integrationstests mit SpecFlow, das Markieren von Images als getestet, das Reporting mit Allure und die Säuberungsaktion implementiert.
- Quote paper
- Dennis Hodapp (Author), 2021, DevOps. Chancen und Herausforderungen bei der Umstellung von Continuous Delivery zu Continuous Deployment, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/1602990