CI/CD
In der Software-Entwicklung 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).[1]
Vergleich
- Kontinuierliche Integration: regelmäßige/fortlaufende Zusammenführung von mehreren kleinen Änderungen in den Hauptzweig
- Continuous Delivery: Wenn Software-Entwickler 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 Entwicklung, das Testen und die Bereitstellung von Anwendungen automatisieren. CI/CD-Dienste kompilieren die inkrementellen Codeänderungen, die von Entwicklern vorgenommen wurden und verknüpfen und verpacken sie in Software-Veröffentlichungen.[2] 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 Software-Updates (Software-Aktualisierungen) in einen großen Stapel integriert wurde, bevor die neuere Version bereitgestellt wurde. Moderne DevOps Praktiken umfassen:
- kontinuierliche Entwicklung,
- kontinuierliches Testen,
- kontinuierliche Integration,
- kontinuierliche Verteilung, und
- kontinuierliche Überwachung
von Softwareanwendungen während des gesamten Entwicklungslebenszyklus. Die CI/CD-Praxis oder CI/CD-Pipeline bildet das Rückgrat des modernen DevOps-Betriebs.
Siehe auch
- Continuous integration (CI)
- Continuous delivery (CD)
- Continuous deployment (CD)
Einzelnachweise
- ↑ Isaac Sacolick: What is CI/CD? Continuous integration and continuous delivery explained In: InfoWorld, 17. Januar 2020. Abgerufen am 1. Juni 2021 (englisch).
- ↑ 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).
Weblinks
- B. El Khalyly, A. Belangour, M. Banane, A. Erraissi: A new metamodel approach of CI/CD applied to Internet of Things Ecosystem. In: 2020 IEEE 2nd International Conference on Electronics, Control, Optimization and Computer Science (ICECOCS). 2020, S. 1–6, doi:10.1109/ICECOCS50124.2020.9314485 (englisch, ieee.org).
- P. Sane: A Brief Survey of Current Software Engineering Practices in Continuous Integration and Automated Accessibility Testing. In: 2021 Sixth International Conference on Wireless Communications, Signal Processing and Networking (WiSPNET). 2021, S. 130–134, doi:10.1109/WiSPNET51692.2021.9419464 (englisch, ieee.org).