- Marco Otte-Witte
- Dienstag, 12. Dez 2023
- 09:00 - 09:45
- Orient
- Session
Continuous-Deployment-Prozesse, bei denen automatisiert und permanent (viele Male pro Tag) Änderungen in die Produktivumgebung releast werden, stellen gewissermaßen den Gipfel der Produktivität eines jeden Software-Teams dar.
In diesem Vortrag möchte ich verschieden Aspekte des Themas beleuchten und insbesondere auf den Zusammenhang mit Testing und Automatisierung eingehen. Zunächst möchte ich den Unterschied zwischen klassischen Arbeitsweisen mit Release Branches, Scheduled Releases, Hotfix Releases usw. und einem idealen Continuous-Deployment-Prozess aufzeigen, insb. auch hinsichtlich Produktivität jedes einzelnen Entwicklers, Risiken im Deployment usw. Danach beleuchte ich die wesentlichen Elemente eines Continuous-Deployment-Setups. Diese sind vor allem ein stabiles automatisiertes Testing-Setup inkl. End-to-end-Testing, Preview-Systeme pro Branch sowie natürlich Automatisierung des Deployment-Prozesses inkl. Rollback usw.
Neben diesen Grundbausteinen gibt es noch weitere Bausteine, die oft übersehen werden, bspw. automatisierte Performance-Tests, Feature Flags und inkrementelle Rollouts, Post-Deployment-Smoke-Tests auf dem Produktivsystem usw. Im letzten Schritt gehe ich auf Herausforderungen beim Aufsetzen von Continuous-Deployment-Prozessen ein, wie bspw. das Sicherstellen eines definierten Datenstandes in den Test-Umgebungen.