CI/CD
CI/CD (Continuous Integration, Delivery und Deployment) ist ein grundlegendes Konzept im modernen Softwareentwicklungsprozess. Ziel ist es, Änderungen an Software häufig, zuverlässig und automatisiert in Test- und Produktionsumgebungen zu bringen – eine zentrale Idee im DevOps-Ansatz.
Continuous Integration
Vorteile
Kleinere Änderungen → weniger Konflikte
Schnellere Fehlersuche
Stabilere Builds
Continuous Delivery
Continuous Deployment
CI/CD-Pipeline
Eine Pipeline ist eine strukturierte Abfolge von Schritten, die automatisch durchlaufen werden, sobald Änderungen am Code vorgenommen werden. Sie besteht aus vier Hauptphasen:
Build
Test
Delivery
Deployment
Build-Phase
Das Ziel der Build-Phase ist es aus dem Quellcode ein ausführbares Artefakt zu erstellen (z. B. .jar
, .exe
, Container-Image).
Zu den Aufgaben gehören unter anderem Folgende:
Quellcode kompilieren
Abhängigkeiten laden (z. B. Maven, npm, pip)
Docker-Container bauen (z. B.
docker build
)Artefakte erzeugen und versionieren
Test-Phase
Das Ziel bei der Test-Phase ist es sicherzustellen, dass die Anwendung korrekt funktioniert und keine alten Funktionen kaputtgehen.
Unit Tests
Test einzelner Funktionen/Methoden
Integrationstests
Test von Schnittstellen zwischen Komponenten
Regressionstests
Prüfen, ob bestehende Funktionen weiterhin korrekt arbeiten
Benutzerakzeptanztests (UAT)
Manuelle oder automatisierte Endnutzerprüfungen
Delivery-Phase
Das Ziel der Delivery-Phase ist es die erstellten und getesteten Artefakte in eine Staging- oder Testumgebung zu überführen.
Beispiele
Upload in ein Artefakt-Repository (z. B. Nexus, Artifactory)
Bereitstellung als Nightly Build
Push in Docker Registry (z. B. Azure Container Registry, Docker Hub)
Deployment-Phase
Das Ziel der Deployment-Phase ist es die Software automatisch in die Produktionsumgebung zu bringen - sobald sie den gesamten Prozess erfolgreich durchlaufen hat.
Zuletzt aktualisiert