Überblick
Eine CI/CD-Pipeline (Continuous Integration/Continuous Deployment) umfasst mehrere Schritte, die zur Bereitstellung einer neuen Softwareversion ausgeführt werden müssen. CI/CD-Pipelines sind eine Methode, mit der die Softwarebereitstellung während des gesamten Softwareentwicklungs-Lifecycles durch Automatisierung verbessert werden soll.
Durch die Automatisierung von CI/CD in den verschiedenen Phasen des Softwareentwicklungs-Lifecycles (Entwicklung, Test, Produktion und Überwachung) sind Unternehmen in der Lage, schneller und sicherer qualitativ hochwertigen Code zu entwickeln. Sicherlich lassen sich die Schritte einer CI/CD-Pipeline auch manuell ausführen, ihr größter Mehrwert wird jedoch durch die Automatisierung realisiert.
Was ist eine 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.
CI/CD ist das Rückgrat einer DevOps-Methodik, die Entwicklungs- und IT-Operations-Teams für das Deployment von Software zusammenbringt. Da kundenspezifische Anwendungen zum entscheidenden Faktor für die Differenzierung von Unternehmen werden, ist die Geschwindigkeit, mit der Code veröffentlicht werden kann, zu einem Unterscheidungsmerkmal im Wettbewerb geworden.
Container und CI/CD-Pipelines
Traditionelle CI/CD-Systeme wurden für Pipelines konzipiert, die virtuelle Maschinen verwenden. Mit der cloudnativen Anwendungsentwicklung lassen sich dafür noch weitere Vorteile realisieren.
Wie sieht eine CI/CD-Pipeline mit Containern aus?
Mit dem Tekton-Projekt können Sie Bereitstellungs-Pipelines im Stil von Kubernetes erstellen, die den kompletten Lifecycle von Microservices kontrollieren – und zwar ohne dass zentrale Teams einen CI-Server, die Konfiguration und Plugins verwalten und warten müssen.
Was ist Red Hat OpenShift Pipelines?
Red Hat® OpenShift® Pipelines ist eine Kubernetes-native CI/CD-Lösung, die auf Tekton aufbaut, um durch enge Integration mit OpenShift und Entwicklungstools von Red Hat ein CI/CD-Erlebnis zu bieten. OpenShift Pipelines wurde entwickelt, um die einzelnen Schritte der CI/CD-Pipeline in einem eigenen Container auszuführen. Dadurch können die einzelnen Schritte unabhängig voneinander skaliert werden, und die Anforderungen der Pipeline werden erfüllt.
Features von Red Hat OpenShift Pipelines
Kubernetes-native Pipelines
Verwenden Sie standardmäßige Tekton-CRDs, um Pipelines zu definieren, die als Container ausgeführt und bei Bedarf skaliert werden können.
Serverless
Behalten Sie die vollständige Kontrolle über die Bereitstellungs-Pipelines, Plugins und Zugriffskontrolle des Teams, ohne dass ein zentraler CI/CD-Server verwaltet werden muss.
Integriertes CI/CD-Erlebnis
Profitieren Sie von einem optimierten Benutzererlebnis durch die Entwicklungsperspektive der Red Hat OpenShift Konsole, die Befehlszeilen und die integrierten Entwicklungsumgebungen.
Erfahren Sie mehr über die Verwendung von Red Hat OpenShift Pipelines zur Automatisierung des Anwendungs-Deployments.
Was ist Tekton?
Tekton bietet ein Open Source-Framework, in dem cloudnative CI/CD-Pipelines schnell erstellt werden können. Als Kubernetes-natives Framework vereinfacht Tekton die Bereitstellung bei mehreren Cloud-Anbietern oder in Hybrid-Umgebungen. Mithilfe von Custom Resource Definitions (CRDs) in Kubernetes nutzt Tekton die Kubernetes-Control Plane zur Ausführung von Pipeline-Aufgaben. Durch die Nutzung von standardmäßigen Industriespezifikationen funktioniert es sehr gut mit CI/CD-Tools wie Jenkins, Jenkins X, Skaffold, Knative und OpenShift.