Was ist eine CI/CD-Pipeline?
Eine CI/CD-Pipeline (Continuous Integration/Continuous Deployment) umfasst mehrere Schritte, die Entwicklungsteams zur Bereitstellung einer neuen Softwareversion ausführen 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 Phasen von Entwicklung, Test, Produktion und Monitoring des Softwareentwicklungs-Lifecycles können Teams qualitativ hochwertigeren Code schneller und sicherer entwickeln. Durch automatisierte Tests können Abhängigkeiten und andere Probleme auch früher im Softwareentwicklungszyklus erkannt werden, wodurch sich später Zeit einsparen lässt. Sicherlich lassen sich die Schritte einer CI/CD-Pipeline auch manuell ausführen, ihr größter Mehrwert wird jedoch durch die Automatisierung realisiert.
CI/CD-Pipelines bieten Vorteile für Softwareunternehmen, die sowohl virtuelle Maschinen als auch containerbasierte cloudnative Anwendungen nutzen. Durch die beschleunigte Integration von Updates und Änderungen am Code können Teams schneller und effektiver auf Nutzerfeedback und geschäftliche Veränderungen reagieren, wodurch sich positive Ergebnisse für die Endnutzenden ergeben.
CI/CD-Pipelines und DevOps
CI/CD-Pipelines optimieren und beschleunigen die Softwareentwicklung. Sie sind Bestandteil der DevOps-Methodologie, einer Reihe von Ideen und Praktiken zur Förderung der Zusammenarbeit zwischen Entwicklungs- und IT-Operations-Teams.
Das „CI“ in CI/CD steht für Continuous Integration. Dies beinhaltet das Entwickeln, Testen und Zusammenführen von Code. Das „CD“ steht für Continuous Delivery. Dies beinhaltet die automatische Freigabe von Software in ein Repository. CD kann auch für Continuous Deployment stehen. Hierbei wird der Schritt zum automatischen Deployment von Software in der Produktion hinzugefügt.
Eine CI/CD-Pipeline steuert den Prozess der Softwareentwicklung durch das Erstellen, Testen und Bereitstellen von Code. Durch Automatisieren der Prozesse, die CI/CD unterstützen, können Entwicklungs- und Operations-Teams menschliche Fehler minimieren und einen konsistenten Prozess für die Veröffentlichung von Software aufrechterhalten. Pipelines können Tools für das Kompilieren von Code, Unit-Tests, Code-Analyse, Sicherheit und das Erstellen von Binärdateien umfassen. Für containerisierte Umgebungen umfassen Pipelines auch Tools zum Verpacken des Codes in ein Container Image, das in einer Hybrid Cloud bereitgestellt werden kann.
Sowohl CI/CD als auch DevOps konzentrieren sich auf die Prozessautomatisierung bei der Code-Integration und beschleunigen so den Weg einer Idee (beispielsweise einer neuen Funktion, einer Verbesserungsanforderung oder einer Fehlerbehebung) von der Entwicklung bis zur Bereitstellung in einer Produktivumgebung, in der sie einen Mehrwert für die Nutzenden bieten kann. Hier arbeiten Entwicklungsteams, die üblicherweise in einer Standardentwicklungsumgebung (SDE) programmieren, eng mit dem IT-Operations-Team zusammen, um Software-Builds, Tests und die Veröffentlichung neuer Versionen zu beschleunigen – ohne dass dies auf Kosten der Zuverlässigkeit geht.
Red Hat Ressourcen
Was ist Tekton?
Tekton basiert auf Knative und ist ein Framework zum schnellen Erstellen cloudnativer CI/CD-Pipelines. Als Kubernetes-natives Framework vereinfacht Tekton die Bereitstellung bei mehreren Cloud-Anbietern oder in Hybrid-Umgebungen.
Mithilfe von CRDs (Custom Resource Definitions) in Kubernetes ermöglicht Tekton die Pipeline-übergreifende Wiederverwendung von Komponenten. Tekton nutzt die Control Plane von Kubernetes zum Ausführen von Pipeline-Aufgaben. Durch die Nutzung von Standard-Branchenspezifikationen lässt sich Tekton gut mit bestehenden CI/CD-Tools wie Knative und OpenShift kombinieren.
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.
Wie können CI/CD-Pipelines die Sicherheit unterstützen?
Ohne angemessene Sicherheitsvorkehrungen kann ein schneller Entwicklungs- und Deployment-Prozess Risiken für ein Unternehmen bedeuten. Zu häufigen Risiken zählen das Offenlegen sensibler Daten gegenüber externen Quellen, die Integration von unsicherem Code oder unsicheren Komponenten von Drittanbietern und ein potenzieller unbefugter Zugriff auf Quellcode-Repositories oder Build Tools.
Automatisierte Kontrollen und Tests innerhalb einer CI/CD-Pipeline können den Code schützen und Schwachstellen bei der Softwarebereitstellung verhindern. Durch die Integration von Sicherheitsmaßnahmen in eine Pipeline können Sie Code vor Angriffen schützen, Datenpannen verhindern, Richtlinien einhalten und die Qualitätssicherung gewährleisten. Das Erkennen und Beheben von Schwachstellen während des gesamten Entwicklungszyklus stellt sicher, dass Codeänderungen gründlich getestet werden und den Sicherheitsstandards entsprechen, bevor sie in der Produktion bereitgestellt werden.
Was sind Red Hat OpenShift Pipelines?
Red Hat® OpenShift® Pipelines sind eine auf Kubernetes basierende Lösung, die auf Tekton aufsetzt und eine enge Integration mit OpenShift und den Entwicklungstools von Red Hat bietet. Administrations- und Entwicklungsteams können so Pipeline-Blueprints für Anwendungen erstellen, die auf den individuellen geschäftlichen und sicherheitsrelevanten Anforderungen ihres Unternehmens basieren.
OpenShift Pipelines wurde entwickelt, um die einzelnen Schritte der Pipeline in einem eigenen Container auszuführen. Dadurch lassen sich die einzelnen Schritte unabhängig voneinander skalieren, und die Anforderungen der Pipeline erfüllen.
OpenShift Pipelines sind über eine Subskription für OpenShift verfügbar und lässt sich nativ in die OpenShift-Konsole integrieren, sodass Entwicklungsteams Pipelines direkt neben ihren Anwendungen konfigurieren und ausführen können.
Features von Red Hat OpenShift Pipelines
Kubernetes-native Pipelines
Nutzen Sie standardmäßige CRDs (Custom Resource Definitions) von Tekton, 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 von Red Hat OpenShift Console, einschließlich der visuellen Oberfläche Pipeline Builder sowie Befehlszeilenschnittstellen und integrierten Entwicklungsumgebungen.
Warum Red Hat für CI/CD?
Unsere Expertinnen und Experten unterstützen Ihre Organisation beim Entwickeln der erforderlichen Praktiken, Tools und Kultur, mit denen Sie Ihre bestehenden Anwendungen effizienter modernisieren und den Einstieg in die cloudnative Anwendungsentwicklung beschleunigen können.
Red Hat OpenShift unterstützt zusammen mit Red Hat OpenShift Pipelines Unternehmen dabei, die Produktivität ihrer Entwicklungsteams zu steigern, CI/CD-Pipelines zu automatisieren und ihre Sicherheitsmaßnahmen früher und durchgängig im gesamten Entwicklungszyklus umzusetzen.
Red Hat OpenShift GitOps ist ein Operator, der einen Workflow bereitstellt, mit dem Git-Repositories, CI/CD-Tools (Continuous Integration/Continuous Delivery) und Kubernetes integriert werden. So können Sie eine schnellere, skalierbare Softwareentwicklung mit mehr Sicherheit erreichen, ohne dabei Abstriche bei der Qualität machen zu müssen. Mit OpenShift GitOps können Kunden deklarative Git-gesteuerte CD-Workflows erstellen und direkt in ihre Anwendungsentwicklungsplattform integrieren.
Tools von Red Hat können auch die CI/CD-Sicherheit unterstützen. Red Hat Advanced Cluster Security (ACS) for Kubernetes schützt containerisierte Kubernetes-Workloads in den wichtigsten Clouds und Hybrid-Plattformen, darunter Red Hat OpenShift, Amazon Elastic Kubernetes Service (EKS), Microsoft Azure Kubernetes Service (AKS) und Google Kubernetes Engine (GKE). Red Hat Trusted Software Supply Chain bietet eine Suite an Sicherheitslösungen, die sich auf die Sicherheit von Softwarekomponenten und Abhängigkeiten in frühen Phasen des Softwareentwicklungs-Lifecycles sowie in den Build- und Release-Pipelines konzentrieren, um Sicherheitsprobleme zu überprüfen und zu beheben. In dieser Suite sind die folgenden Lösungen enthalten: Red Hat Trusted Profile Analyzer, die SBOMs (Software Bills of Materials) und Informationen zur Schwachstellenbehebung verwaltet. Red Hat Advanced Developer Suite, die weitere Entwicklungstools umfasst und automatisierte Signierung, kryptografische Verifizierung und lückenlose Herkunftsverfolgung von Software-Artefakten ermöglicht.
Zur Automatisierung von Workflows bietet Red Hat Ansible® Automation Platform sämtliche erforderlichen Tools zur unternehmensweiten Implementierung von Automatisierungslösungen, darunter eine eventgesteuerte Lösung, Analysen und vordefinierte Content Collections. Durch die gemeinsame YAML-basierte Sprache und einen Ansatz für den gewünschten Zustand können Sie dieselben Automatisierungsinhalte sowohl für den täglichen Betrieb als auch für Ihre CI/CD-Pipeline verwenden. Und da die Plattform mit nahezu allen Aspekten Ihrer IT-Infrastruktur zusammenarbeitet, können Sie konsistente Entwicklungs-, Test- und Produktivumgebungen einfach und schnell bereitstellen und so die Zuverlässigkeit und Resilienz Ihrer Anwendungen erhöhen.
Ansible Automation Platform bietet auch Integrationsmöglichkeiten mit Red Hat Advanced Cluster Management for Kubernetes und ermöglicht Ihnen so die Orchestrierung von Kubernetes-Clustern innerhalb Ihrer CI/CD-Pipeline. Außerdem können Sie mit der für Menschen lesbaren Automatisierungssprache Red Hat OpenShift Operators einfacher entwickeln und verwalten.
Der offizielle Red Hat Blog
Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.