Übersicht
Continuous Delivery ist eine Softwareentwicklungsmethode, bei der Codeänderungen automatisch erstellt, getestet und für eine Produktionsversion vorbereitet werden. Als wichtiges Element der modernen Anwendungsentwicklung ist die kontinuierliche Bereitstellung eine Erweiterung der kontinuierlichen Integration, indem nach dem Aufbaustadium alle Codeänderungen in einer Test- und/oder Produktionsumgebung bereitgestellt werden. Bei einer korrekten Implementierung steht den Entwicklern stets ein Erstellungsartefakt für die Bereitstellung zur Verfügung, das bereits einen standardisierten Testprozess durchlaufen hat.
Die Continuous Delivery ermöglicht Entwicklern automatische Tests, die über einfache Einheitstests hinausgehen. Dadurch können Anwendungsaktualisierungen über mehrere Dimensionen hinweg getestet werden, bevor sie für einen Kunden bereitgestellt werden. Diese Tests können UI-, Last-, Integrations- sowie API-Zuverlässigkeitstests uvm. umfassen. Sie unterstützen Entwickler bei der gründlichen Validierung von Aktualisierungen, auch Probleme können schon vorab entdeckt werden. Dank der Cloud ist die automatische Erstellung und Replikation mehrerer Testumgebungen heutzutage noch einfacher und kostengünstiger als die Durchführung dieser Prozesse an einem lokalen Standort.
Continuous Delivery vs. Continuous Deployment
Dank der Continuous Delivery wird jede Codeänderung erstellt, getestet und in eine nicht produktive Test- oder Staging-Umgebung verschoben. Vor einer Bereitstellung für die Produktionsumgebung können mehrere parallele Testphasen notwendig sein. Der Unterschied zwischen fortlaufender Bereitstellung und Continuous Deployment ist das Vorhandensein einer manuellen Genehmigung zur Aktualisierung der Produktion. Bei Continuous Deployment wird die Produktion automatisch ohne spezielle manuelle Genehmigung umgesetzt.
Die Continuous Delivery automatisiert den kompletten Software-Einführungsprozess. Jede bestätigte Überarbeitung löst einen automatischen Prozess aus, in dessen Verlauf die Aktualisierung erstellt, getestet und bereitgestellt wird. Die finale Entscheidung zur Bereitstellung in einer Live-Produktionsumgebung wird vom Entwickler ausgelöst.
Vorteile der Continuous Delivery
Continuous Delivery auf AWS
In unseren Videos erfahren Sie mehr zu den Vorteilen von Continuous Delivery sowie zur Implementierung mittels AWS CodePipeline und AWS CodeBuild.