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).[1]

Vergleich

Bearbeiten
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

Bearbeiten

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.[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 Softwareaktualisierungen 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.

Bearbeiten
  • 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).

Einzelnachweise

Bearbeiten
  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).

📚 Artikel Terkait di Wikipedia

Lagrange-Preis für Stetige Optimierung

Lagrange-Preis für Stetige Optimierung (englisch Lagrange Prize in Continuous Optimization), benannt nach Joseph-Louis Lagrange, ist eine gemeinsam von der

Evolutionärer Algorithmus

initial populations of a genetic algorithm for continuous optimization problems. In: Journal of Global Optimization. Band 37, Nr. 3, 23. Januar 2007, ISSN 0925-5001

Bayes’sche Optimierung

Die Bayes’sche Optimierung (BO, engl. Bayesian Optimization) ist eine sequenzielle Optimierungsmethode für die Optimierung von Black-Box-Funktionen, deren

Mathematical Optimization Society

in denen es keine ISMP gibt. Die International Conference on Continuous Optimization (ICCOPT), die kontinuierliche Schwesterkonferenz zur IPCO, fand

Metaheuristik

Li, Xi Lin, Qingfu Zhang, Hailin Liu: Evolution strategies for continuous optimization: A survey of the state-of-the-art. In: Swarm and Evolutionary Computation

Dimitri Bertsekas

(INFORMS) Computing Society Prize und 2014 den Khachiyan Prize der INFORMS Optimization Society und den Richard E. Bellman Control Heritage Prize des American

Adrian S. Lewis

sensitivity (SIAM Journal on Optimization, Band 13, 2003, S. 702–725) und 2003 den Lagrange Prize for Continuous Optimization der Mathematical Programming

Liste der Abkürzungen in der Informationstechnik

Humans Apart CC: Common Criteria CCC: Chaos Computer Club CD: Continuous Delivery CD: Continuous Depyloment CD: Compact Disk CDN: Content Delivery Network