Was ist eine CI/CD-Pipeline?
Eine Continuous Integration/Continuous Deployment-Pipeline (CI/CD) besteht aus einer Reihe festgelegter Schritte, die Entwicklungsteams zur Bereitstellung einer neuen Softwareversion befolgen müssen. CI/CD-Pipelines stehen für eine Methode, die darauf ausgerichtet ist, die Softwarebereitstellung während des gesamten Softwareentwicklungs-Lifecycles durch Automatisierung zu verbessern.
Durch die Automatisierung von CI/CD in den verschiedenen Phasen des Softwareentwicklungs-Lifecycles (Entwicklung, Test, Produktion und Überwachung) sind Teams in der Lage, schneller und mit mehr Sicherheit qualitativ höherwertigen Code zu entwickeln. Automatisierte Tests ermöglichen außerdem die Identifizierung von Abhängigkeiten und anderen Problemen in einer früheren Phase des Softwareentwicklungs-Lifecycles, was später Zeit spart. 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. Da sich Updates und Codeänderungen schneller integrieren lassen, können Teams das Feedback von Nutzenden regelmäßiger und effektiver umsetzen. Das führt zu positiven Ergebnissen für Endbenutzende.
In welcher Beziehung stehen CI/CD-Pipelines zu 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 lenkt durch Entwickeln, Testen und Bereitstellen von Code den Prozess der Softwareentwicklung. Durch Automatisierung der Prozesse, die CI/CD unterstützen, können Entwicklungs- und Operations-Teams menschliche Fehler minimieren und einen konsistenten Prozess für die Freigabe von Software aufrechterhalten. Pipeline können Tools für das Kompilieren von Code, Komponententests, Codeanalyse, Sicherheit und die Erstellung von Binärdateien umfassen. Bei containerisierten Umgebungen beinhalten Pipelines auch Tools für das Paketieren des Codes in ein Container Image zum Deployment in einer Hybrid Cloud.
Sowohl CI/CD als auch DevOps legen den Fokus auf die Automatisierung von Codeintegration. Dadurch beschleunigen sie die Prozesse, die Ideen (wie etwa neue Features, Verbesserungsanfragen oder Bug Fixes) von der Entwicklung bis zum Deployment in einer Produktivumgebung durchlaufen, in der sie dann Nutzenden einen Mehrwert bieten können. Hier arbeiten Entwicklungsteams, die üblicherweise in einer Standardentwicklungsumgebung 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 ist ein Knative-basiertes Framework, in dem cloudnative CI/CD-Pipelines schnell erstellt werden können. Als Kubernetes-natives Framework vereinfacht Tekton das Deployment bei mehreren Cloud-Anbietern oder in Hybrid-Umgebungen.
Mithilfe von Custom Resource Definitions (CRDs) in Kubernetes ermöglicht Tekton die Pipeline-übergreifende Wiederverwendung von Komponenten. Tekton nutzt die Kubernetes Control Plane zur Ausführung von Pipeline-Aufgaben. Dank der Nutzung von standardmäßigen Industriespezifikationen funktioniert es sehr gut mit CI/CD-Tools wie Knative und OpenShift.
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, Plugins und die Konfiguration warten und verwalten müssen.
Wie können CI/CD-Pipelines die Sicherheit unterstützen?
Ohne angemessene Sicherheitsvorkehrungen kann ein schneller Entwicklungs- und Bereitstellungsprozess Risiken für ein Unternehmen mit sich bringen. 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 Prüfungen und Tests innerhalb einer CI/CD-Pipeline können Code schützen und Schwachstellen bei der Softwarebereitstellung vermeiden. Durch die Integration von Sicherheit in eine Pipeline können Sie Code besser vor Angriffen schützen, Datenlecks vermeiden, die Compliance mit Richtlinien unterstützen und für Qualitätssicherung sorgen. Das Identifizieren und Beheben von Schwachstellen während des gesamten Entwicklungszyklus stellt sicher, dass Codeänderungen gründlich getestet werden und den Sicherheitsstandards entsprechen, bevor das Deployment in der Produktion erfolgt.
Was ist Red Hat OpenShift Pipelines?
Red Hat® OpenShift® Pipelines ist eine Kubernetes-native Lösung, die auf Tekton basiert und eine enge Integration mit OpenShift und Red Hat Entwicklungstools bietet. Administrations- und Entwicklungsteams können Pipeline-Blueprints für Anwendungen erstellen, die auf den besonderen Geschäfts- und Sicherheitsanforderungen ihres Unternehmens basieren.
OpenShift Pipelines wurde entwickelt, um die einzelnen Schritte der 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.
OpenShift Pipelines ist mit einer OpenShift Subskription erhältlich und integriert sich nativ in die OpenShift-Konsole. Dies ermöglicht es Entwicklungsteams, Pipelines direkt neben ihren Anwendungen zu konfigurieren und auszuführen.
Features von Red Hat OpenShift Pipelines
Kubernetes-native Pipelines
Verwenden Sie standardmäßige Tekton Custom Resource Definitions (CRDs), um Pipelines zu definieren, die als Container ausgeführt und bei Bedarf skaliert werden.
Serverless-Ausführung
Behalten Sie die vollständige Kontrolle über die Bereitstellungs-Pipelines, Plugins und Zugriffskontrolle Ihres 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, einschließlich der visuellen Schnittstelle Pipeline Builder, sowie von Befehlszeilen 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.
Mit Red Hat OpenShift und Red Hat OpenShift Pipelines können Unternehmen die Produktivität ihrer Entwicklungsteams steigern, ihre CI/CD-Pipelines automatisieren sowie Sicherheitsmaßnahmen früher einbinden und auf den gesamten Entwicklungszyklus ausweiten.
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 erreichen Sie eine schnellere, skalierbare Softwareentwicklung mit mehr Sicherheit, 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.
Red Hat Tools können auch die CI/CD-Sicherheit unterstützen. Red Hat Advanced Cluster Security (ACS) for Kubernetes trägt zum Schutz von containerisierten Kubernetes-Workloads in den meisten Clouds und hybriden Plattformen bei, 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 einer frühen Phase des Softwareentwicklungs-Lifecycles sowie auf die Build und Release Pipelines für Audits und Maßnahmen im Falle von Sicherheitsproblemen konzentrieren. In dieser Suite enthalten sind die Lösungen Red Hat Trusted Profile Analyzer, die SBOMs (Software Bills of Materials) und Informationen zur Behebung von Schwachstellen verwaltet, sowie Red Hat Trusted Application Pipeline, die Standard-Pipeline-Definitionen und automatisierte Sicherheitsprüfungen bietet, um SLSA-Level-3-Build-Images (Supply Chain Levels for Software Artifacts) zu erzeugen.
Zur Unterstützung bei der Automatisierung von Workflows enthält Red Hat Ansible® Automation Platform sämtliche Tools, die für das Implementieren einer unternehmensweiten Automatisierung erforderlich sind, einschließlich einer eventgesteuerten Lösung, Analysen und vordefinierten 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.