Jump to section

Was ist Continuous Delivery?

URL kopieren

Continuous Delivery ist ein Verfahren zur Softwareentwicklung, bei dem neuer Code mithilfe von Automatisierung schneller veröffentlicht werden kann.

Es wird ein Prozess eingerichtet, mit dem die App-Änderungen eines Entwicklers durch Automatisierung in ein Code-Repository oder eine Container-Registry verschoben werden können.

Continuous Delivery ist ein Teil von CI/CD, einer Methode zur häufigen Bereitstellung von Software durch die Automatisierung einiger Stufen der App-Entwicklung. 

Das „CI“ in CI/CD steht für Continuous Integration. Bei einer Continuous Integration werden regelmäßig neue Codeänderungen für Apps entwickelt, getestet und in einem gemeinsamen Repository zusammengeführt. Damit soll der Konflikt verhindert werden, den zu viele Branches einer App verursachen können, wenn sie zeitgleich entwickelt werden.

Das „CD“ in CI/CD kann für Continuous Deployment oder Continuous Delivery stehen. Dies sind Methoden zur Automatisierung weiterer Stufen in der Pipeline.

CI/CD FLow

Continuous Delivery und Continuous Deployment sind miteinander verwandte Konzepte, die manchmal separat verwendet werden, um den Grad der Automatisierung anzugeben.

Continuous Delivery bedeutet üblicherweise, dass App-Änderungen eines Entwicklerteams automatisch auf Bugs getestet und in ein Repository (wie GitHub oder eine Container-Registry) hochgeladen werden, von wo aus sie vom Operations-Team in einer Live-Produktivumgebung bereitgestellt werden können. Auf diese Weise können Transparenz- und Kommunikationsprobleme zwischen Dev- und Business-Teams schneller gelöst werden. Mit Continuous Delivery soll also sichergestellt werden, dass neuer Code mit minimalem Aufwand bereitgestellt werden kann.

Continuous Deployment deckt hingegen einige zusätzliche Schritte im Release-Prozess für die neue Software ab. Hierzu zählt in der Regel die automatische Freigabe von Entwickleränderungen vom Repository zur Produktivphase, wo sie direkt vom Kunden genutzt werden können. Dieser Vorgang soll der Überlastung von Operations-Teams bei manuellen Prozessen entgegenwirken, die die Anwendungsbereitstellung verlangsamen. Continuous Deployment baut die Vorteile der Continuous Delivery aus, indem auch noch die nächste Phase der Pipeline automatisiert wird.

Transformation will gekonnt sein

Hier erfahren Sie anhand von drei Case Studies, zu welchen Erfolgen eine offene digitale Transformation führen kann.
 

Eine CI/CD-Pipeline umfasst mehrere Schritte, die zur Bereitstellung einer neuen Softwareversion ausgeführt werden. Durch die Einführung von CI/CD wird eine CI/CD-Pipeline eingerichtet.

Eine CI/CD-Pipeline beginnt mit Überwachung und Automatisierung, um den Prozess der Anwendungsentwicklung zu verbessern. Dies betrifft speziell die Integrations- und Testphase, aber auch die Bereitstellung und Implementierung. 

Sicherlich lassen sich die Schritte einer CI/CD-Pipeline auch manuell ausführen, ihr größter Mehrwert ist jedoch die Automatisierung des Anwendungs-Lifecycles.

Der Begriff „DevOps“ setzt sich aus den Begriffen „Development“ (Entwicklung) und „Operations“ (Operationen) zusammen. Das DevOps-Konzept umfasst die Aspekte Unternehmenskultur, Automatisierung und Plattformdesign und hat das Ziel, den geschäftlichen Mehrwert und die Reaktionsfähigkeit durch eine schnelle Bereitstellung hochwertiger Services zu steigern.

Continuous Delivery ist eine spezielle Art der Softwareentwicklung, die häufig in Verbindung mit DevOps angewendet wird. Ein DevOps-Konzept beinhaltet in der Regel die Erstellung einer Continuous Delivery-Pipeline.

DevOps umfasst Ansätze dazu, wie eine Idee (z. B. neue Software-Features, Verbesserungsanfragen oder Bug Fixes) von der Entwicklung bis zum Einsatz in der Produktivumgebung beschleunigt werden kann, um dort zur Wertschöpfung beizutragen. 

Hier arbeiten Entwickler, die üblicherweise in einer Standardentwicklungsumgebung (SDE) programmieren, eng mit Testern und den IT-Operations-Teams zusammen, um Software-Builds, Code-Commits, Komponententests und die Veröffentlichung neuer Versionen zu beschleunigen – ohne dass dies auf Kosten der Zuverlässigkeit geht.

Ein wichtiges Ergebnis der Implementierung von DevOps ist eine CI/CD-Pipeline, in der Entwicklungs- und Operations-Teams mithilfe einer agilen Methode zusammenarbeiten. 

CI/CD nutzt Automatisierung, um Entwicklungs-, Bereitstellungs- und Testprozesse zu beschleunigen. Automatisierung trägt dazu bei, die Qualität zu verbessern und die Anzahl von menschlichen Fehlern zu verringern. Durch Automatisierung kann im Rahmen einer DevSecOps-Strategie außerdem die Sicherheit erhöht werden.

Einige Tools unterstützen speziell die Integration (Continuous Integration), andere die Entwicklung und Bereitstellung (Continuous Deployment), andere wiederum kontinuierliches Testen oder ähnliche Funktionen.

Eines der bekanntesten Open Source-Tools für CI/CD ist der Automatisierungsserver Jenkins. Jenkins kann alles verarbeiten – vom einfachen CI-Server bis hin zum kompletten CD-Hub.

Ebenfalls häufig verwendet wird Tekton, ein Open Source-Projekt der Continuous Delivery Foundation. Tekton ermöglicht die deklarative Beschreibung von Bereitstellungs-Pipelines mit Kubernetes-Konzepten und deren On-Demand-Ausführung in Containern.

Tekton ist die Basis für OpenShift Pipelines, einer CI/CD-Lösung für Red Hat® OpenShift®.

Weiterlesen

ARTIKEL

Was ist DevSecOps?

Wenn Sie die Agilität und Reaktionsfähigkeit von DevOps vollständig ausschöpfen möchten, muss die IT-Sicherheit im gesamten Lifecycle Ihrer Apps eine Rolle spielen.

ARTIKEL

Was ist CI/CD?

CI/CD sorgt für eine kontinuierliche Automatisierung und Überwachung über alle Phasen des App-Lifecycles hinweg, von der Integration und Tests bis hin zur Bereitstellung und Implementierung.

ARTIKEL

Was ist ein DevOps-Ingenieur?

DevOps-Ingenieure besitzen verschiedene besondere Fähigkeiten und Kenntnisse, die für eine bessere Zusammenarbeit, mehr Innovationen und kulturelle Verschiebungen innerhalb einer Organisation sorgen können. 

Mehr über DevOps erfahren

Produkte

Ein fokussierter Intensiv-Workshop mit Red Hat Experten, bei dem Sie lernen, eine agile Methodik und Open Source-Tools zu verwenden, um die geschäftlichen Probleme Ihres Unternehmens anzugehen.

Interaktionen mit unseren strategischen Beratern, die sich ein Gesamtbild von Ihrem Unternehmen machen, Ihre Herausforderungen analysieren und Ihnen helfen, diese mit umfassenden, kosteneffektiven Lösungen zu meistern.

Ressourcen