CI/CD

In der Softwareentwicklung ist CI/CD die kombinierte Praxis von kontinuierlicher Integration (englisch Continuous Integration, kurz: CI) und kontinuierlicher Auslieferung (englisch Continuous Delivery, kurz: CD) oder auch kontinuierlicher Bereitstellung (englisch Continuous Deployment, kurz: CD).

Vergleich

Kontinuierliche Integration
regelmäßige/fortlaufende Zusammenführung von mehreren kleinen Änderungen in den Hauptzweig der Entwicklung
Continuous Delivery
Wenn Softwareentwickler in kurzen Zyklen, mit hoher Geschwindigkeit und fortlaufend Software produzieren, sodass zu jeder Zeit zuverlässige Software, mit einem einfachen und wiederholbaren Bereitstellungsprozess, bei der Entscheidung zur Bereitstellung veröffentlicht werden kann
Continuous Deployment
Wenn neue Softwarefunktionen vollständig automatisch ausgerollt/veröffentlicht/freigegeben werden

Motivation

CI/CD überbrückt die Lücken zwischen Entwicklungs- und Administrationsaktivitäten, indem sie die Softwareentwicklung, das Softwaretesten und die Softwareverteilung automatisiert. CI/CD-Dienste kompilieren die inkrementellen Codeänderungen, die von Entwicklern vorgenommen wurden und verknüpfen und verpacken sie in Software-Veröffentlichungen. Automatisierte Tests überprüfen die Softwarefunktionalität, und automatisierte Bereitstellungsdienste liefern sie an Endbenutzer. Ziel ist es, die frühzeitige Entdeckung von Fehlern zu erhöhen, die Produktivität zu steigern und schnellere Veröffentlichungszyklen zu erreichen. Der Prozess steht im Gegensatz zu herkömmlichen Methoden, bei denen eine Sammlung von Softwareaktualisierungen in einen großen Stapel integriert wurde, bevor die neuere Version bereitgestellt wurde. Moderne DevOps-Praktiken umfassen:

von Softwareanwendungen während des gesamten Entwicklungslebenszyklus. Die CI/CD-Praxis oder CI/CD-„Pipeline“ bildet das Rückgrat des modernen DevOps-Betriebs.

Einzelnachweise

  1. ↑ Isaac Sacolick: What is CI/CD? Continuous integration and continuous delivery explained In: InfoWorld, 17. Januar 2020. Abgerufen am 1. Juni 2021 (englisch). 
  2. ↑ Sander Rossel: Continuous integration, delivery, and deployment reliable and faster software releases with automating builds, tests, and deployment. Packt Publishing, Birmingham 2017, ISBN 978-1-78728-661-0 (englisch).