Continuous Deployment und Continuous Delivery (CD) sind Prozesse, die die Bereitstellung von Anwendungen in verschiedenen Umgebungen automatisieren. Es tritt häufig in Zusammenhang mit Continuous Integration (CI) als CI/CD auf. Der Unterschied zwischen Deployment und Delivery liegt im Grad der Automatisierung sowie in der Häufigkeit der Bereitstellung von Softwareänderungen.
Continuous Deployment
Continuous Deployment überführt Änderungen sofort in die Produktion, vorausgesetzt, die Tests wurden bestanden.
Es gibt lauffähige Anpassungen unmittelbar frei und veröffentlicht diese automatisch.
Continuous Delivery
Continuous Delivery umfasst alle Schritte, um die Software nach bestandenen Tests bereitzustellen, jedoch ohne sie automatisch in den Produktivbetrieb zu überführen.
Die Software wird stets in einem funktionsfähigen Zustand gehalten und zur Veröffentlichung vorbereitet, aber der finale Schritt zur Installation und produktiven Nutzung erfordert eine manuelle Freigabeentscheidung durch Entwickler:innen oder das Operations-Team.
Ziele
1. Automatisierung der Bereitstellung
Ziel von CD ist es, den Prozess der Softwarebereitstellung zu automatisieren, um menschliche Fehler zu reduzieren und die Effizienz zu steigern.
2. Konsistenz und Zuverlässigkeit
CD stellt sicher, dass der Bereitstellungsprozess konsistent und zuverlässig ist, sodass jede Version der Software stabil und funktional ist.
3. Kontinuierliche Verbesserung
Durch häufige und regelmäßige Releases wird ein kontinuierlicher Verbesserungsprozess gefördert, was zu einer stetigen Verbesserung der Software führt.
4. Minimierung von Risiken
Kleine, häufige Updates minimieren die Risiken, da Fehler schneller erkannt und behoben werden können.