CI/CD Pipelines sogern für eine kontinuierliche Automatisierung und
Überwachung über den gesamten App-Lifecycle hinweg. Das heißt über die
Integrations- und Testphase bis hin zur Bereitstellungs- und
Implementierungsphase. Eingesetzt werden die Pipelines im agilen
Kontext häufig von DevOps-Teams.
Was ist der Unterschied zwischen CI und CD?
redhat.com
Die Abkürzung CI/CD hat unterschiedliche Bedeutungen.
- "CI" - Continuous Integration
-
„CI“ bedeutet Continuous Integration, hier geht es somit um den
Automatisierungsprozess bei der Entwicklung. Ist eine CI
erfolgreich, werdern hier regelmäßig neue Codeänderungen für Apps
entwickelt, geprüft und in einem gemeinsamen Repository
zusammengeführt. Hierdurch sollen Konflikte, die durch zu viele
Branches einer App verursacht werden, wenn sie gemeinsam &
zeitgleich entwickelt wird, verhindert werden.
- "CD" - Continuous Delivery
-
Bei Continuous Delivery geht es um die App-änderungen eines
Entwicklers. Bspw. wenn dieser automatisch die App auf Bugs testet
und diese in ein Repository (Github, Gitlab, git) hochgelädt, damit
diese daraufhin in einer Live-Produktivumgebung bereitgestellt
werden kann. Damit wird sichergestellt, das neuer Code mit minimalem
Aufwand implementiert werden kann. ABER: Hier wird findet nicht wie
im Continuous Deployment automatisches Deployment statt!
- "CD" - Continuous Deployment (das andere "CD")
-
Dies ist sozusagen eine Erweiterung des Continuous Delivery da hier
die Prüfung der Änderungen nicht manuell sondern automatisiert
stattfinden. Hier geht es also darum, das der Entwickler seine
Änderungen direkt in das Live-Produkt laden kann, vorausgesetzt die
Änderungen bestehen die automatischen Tests. Diese automatischen
Tests müssen vorher sehr gut durchdacht sein, da jede Änderung wie
gesagt direkt in den Livegang geht und keine manuelle Prüfung davor
gemacht wird.