CI/CD - Continuous Integration/Continuous Delivery
CI/CD steht für Continuous Integration/Continuous Delivery. CI/CD sind bewährte DevOps-Methoden zur Automatisierung in der Anwendungsentwicklung. Die Hauptkonzepte von CI/CD sind
- Continuous Integration (kontinuierliche Integration),
- Continuous Delivery und
- Continuous Deployment (kontinuierliche Verteilung).
CI/CD automatisiert alle Phasen der Anwendungsentwicklung und stellt Kunden neue Apps kontinuierlich bereit. Dadurch werden Probleme, die bei der Integration von neuem Code für DevOps-Teams auftreten (auch bekannt als die „Integrationshölle") gelöst und eine schnelle, konsistente Anwendungsentwicklung unterstützt.
Insbesondere sorgt CI/CD für eine kontinuierliche Automatisierung und Überwachung über alle Phasen des Application Lifecycles hinweg, von Integration und Tests bis hin zu Bereitstellung und Deployment. Diese zusammenhängenden Praktiken werden oft als „CI/CD-Pipeline" bezeichnet. Sie werden von Entwicklungs- und Operations-Teams unterstützt, die auf agile Weise mit einem DevOps- oder SRE-Ansatz (Site Reliability Engineering) zusammenarbeiten.
CI/CD-Pipeline
Eine Pipeline ist ein Prozess, der die Softwareentwicklung durch Erstellen, Testen und Bereitstellen von Code vorantreibt, auch bekannt als CI/CD. Das Ziel der Automatisierung des Prozesses ist es, menschliche Fehler zu minimieren und einen konsistenten Prozess f ür das Release von Software aufrechtzuerhalten. In der Pipeline enthaltene Tools können das Kompilieren von Code, Komponententests, Codeanalyse, Sicherheit und die Erstellung von Binärdateien umfassen. Bei containerisierten Umgebungen würde diese Pipeline auch das Paketieren des Codes in ein Container Image zum Deployment in einer Hybrid Cloud enthalten.
Abbildung CI/CD-Pipeline (Quelle = RedHat)