Continuous Integration und Continuous Delivery
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Erläutern und Vergleichen von Continuous Integration und Continuous Delivery
- Nennen einiger Vorteile von Continuous Delivery
Wenn Sie das Modul "Heroku Enterprise – Grundlagen" noch nicht durchgearbeitet haben, sollten Sie dies unbedingt tun, ehe Sie mit diesem Modul starten.
Wie werden Anwendungen kontinuierlich entwickelt?
Moderne Entwicklungsmethoden ermöglichen Teams, die technisch ausgereiftesten und ansprechendsten Anwendungen auf dem Markt zu entwickeln und bereitzustellen. Zu diesen Methoden gehören Continuous Integration und Continuous Deployment. Sie ermöglichen kurze Release-Zyklen, Automatisierung und eine direkte Verbindung mit dem Quellcode-Repository. Außerdem sind sie darauf ausgelegt, Teams in die Lage zu versetzen, schrittweise erfolgende Codeänderungen schnell und sicher in die Produktion hochzustufen. Wenn diese Methoden richtig umgesetzt werden, treten Fehler und Probleme früher im Anwendungslebenszyklus auf, was zu schnelleren Produktfreigaben mit höherer Qualität führt.
Continuous Integration
Continuous Integration ermöglicht Teams, Probleme frühzeitig zu erkennen. Bei komplexen Produkten können scheinbar einfache und eigenständige Änderungen unbeabsichtigte Folgen haben. Wenn Entwickler parallel an mehreren isolierten Code-Branches arbeiten, kann das Zusammenführen von Änderungen in einem gemeinsamen main
-Branch zu unvorhersehbaren Ergebnissen führen. Diese Ergebnisse führen oft zu mehrfachen Runden von Regressionstests und Fehlerkorrekturen.
Die Continuous Integration (CI) ermöglicht Entwicklern, regelmäßig jede Codeänderung bei jedem Commit in den main
-Branch zu integrieren. Bei CI werden Tests mit Einweganwendungen durchgeführt, wobei geprüft wird, ob Fehler im zusammengeführten Code vorliegen.
Continuous Delivery
Continuous Delivery stellt sicher, dass Sie Code schnell und sicher in der Produktion bereitstellen können, indem jede Änderung manuell per Push in eine produktionsähnliche Umgebung (Staging) übertragen wird. Da jede Änderung automatisch an eine Staging-Umgebung übermittelt wird, können Sie die Anwendung zum richtigen Zeitpunkt per Knopfdruck in der Produktion bereitstellen.
Der zusätzliche Schritt der Code-Übertragung per Push in eine Staging-Umgebung unterscheidet Continuous Integration von Continuous Delivery. Wenn Sie mithilfe von CI einen grünen (erfolgreichen) Build erstellt haben, bedeutet dies nicht, dass Ihr Code produktionsreif ist. Ihr Code ist erst dann produktionsreif, wenn er per Push in eine Staging-Umgebung übertragen wurde, die der endgültigen Produktionsumgebung entspricht, und dort erfolgreich getestet wurde.
Nachdem Sie jetzt mehr über diese Konzepte wissen, sehen wir uns als Nächstes die Funktionen der Heroku-Plattform an, die diese Konzepte unterstützen.