CD vs CI
Steht für Continuous Deployment.
| CD | CI | |
|---|---|---|
| Definition | Continuous Deployment, oder Continuous Delivery, ist ein Ansatz im Software Engineering, bei dem Codeänderungen automatisch in die Produktionsumgebung freigegeben werden, durch eine Reihe von automatisierten Tests. | Continuous Integration (CI) ist eine Praxis der Softwareentwicklung, bei der Entwickler regelmäßig ihre Codeänderungen in ein zentrales Repository integrieren, gefolgt von automatisierten Builds und Tests. Es ist eine Kernpraxis der DevOps-Philosophie. |
| Categories | ALM, Automatisierung, Bereitstellung, CI, DevOps, Veröffentlichung | ALM, Automatisierung, CI, DevOps, Entwicklung, Qualität |
Was ist CD?
Steht für Continuous Deployment.
Definition
Continuous Deployment, oder Continuous Delivery, ist ein Ansatz im Software Engineering, bei dem Codeänderungen automatisch in die Produktionsumgebung freigegeben werden, durch eine Reihe von automatisierten Tests.
Prozess
Neue Codeänderungen durchlaufen eine Test- und Inspektionspipeline, und wenn sie genehmigt werden, werden sie direkt in die Produktionsumgebung bereitgestellt.
Vorteile
Continuous Deployment beschleunigt die Bereitstellung von Software, reduziert die Zeit bis zur Markteinführung neuer Funktionen und ermöglicht schnellere Feedbackzyklen.
Korrektur
Häufige Bereitstellungen erleichtern das Finden und Beheben von Fehlern, da Fehler neuer sind und leichter zurückverfolgt werden können.
Was bedeutet CI?
Steht für Continuous Integration.
Definition
Continuous Integration (CI) ist eine Praxis der Softwareentwicklung, bei der Entwickler regelmäßig ihre Codeänderungen in ein zentrales Repository integrieren, gefolgt von automatisierten Builds und Tests. Es ist eine Kernpraxis der DevOps-Philosophie.
Automatisierung
CI beinhaltet sowohl eine kulturelle Komponente, die häufige Integration fördert, als auch eine Automatisierungskomponente. Codeänderungen lösen automatisierte Build-Prozesse aus, um ausführbare Software zu erstellen.
Ziele
Die Hauptziele von CI sind, Fehler schnell zu finden und zu beheben, die Softwarequalität zu verbessern und die Zeit zu reduzieren, die benötigt wird, um neue Softwareupdates zu validieren und freizugeben.
Vertrauen
Häufige Integration erzeugt das Vertrauen, dass die Codebasis immer in einem funktionsfähigen Zustand ist.
Testabdeckung
CI sollte eine umfassende Reihe von automatisierten Tests beinhalten, um verschiedene Aspekte der Software abzudecken und ihr QA-Niveau sicherzustellen.