Zum Hauptinhalt springen

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.

image-20230705160226508

Abbildung CI/CD-Pipeline (Quelle = RedHat)