Anmelden / Registrieren Konto

DEVOPS

Was ist eine CI/CD-Pipeline?

Jump to section

Eine CI/CD-Pipeline umfasst mehrere Schritte, die zur Bereitstellung einer neuen Softwareversion ausgeführt werden müssen. CI/CD steht für Continuous Integration/Continuous Delivery. CI/CD-Pipelines verkörpern eine Praxis zur Verbesserung der Softwarebereitstellung durch den Einsatz von DevOps oder SRE (Site Reliability Engineering).

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 wird jedoch durch die Automatisierung realisiert.

Elemente einer CI/CD-Pipeline

Die Schritte in einer CI/CD-Pipeline stellen verschiedene Untergruppen von Aufgaben dar, die in sogenannte Pipeline-Phasen eingeteilt werden. Zu diesen Phasen gehören üblicherweise:

  • Build – Die Phase, in der die Anwendung kompiliert wird.
  • Test – Die Phase, in der der Code getestet wird. Hier lassen sich durch Automatisierung sowohl der Zeit- als auch der Arbeitsaufwand verringern.
  • Release – Die Phase, in der die Anwendung ins Repository gestellt wird.
  • Bereitstellung – In dieser Phase wird der Code in der Produktionsumgebung bereitgestellt.
  • Validierung und Compliance – Welche Schritte zur Validierung eines Builds notwendig sind, bestimmen die Anforderungen des jeweiligen Unternehmens. Scanning Tools für die Image-Sicherheit, wie Clair, sichern die Qualität von Images, indem diese mit bekannten Schwachstellen (CVEs) verglichen werden.
     

Diese Liste der Pipeline-Phasen ist nicht abschließend. Es werden lediglich die Phasen aufgeführt, die man am häufigsten antrifft. So werden Sie Ihre eigene Pipeline sicherlich an den Anforderungen Ihres Unternehmens ausrichten.

Container und CI/CD-Pipelines

Traditionelle CI/CD-Systeme wurden für Pipelines konzipiert, die Virtual Machines verwenden. Mit der cloudnativen App-Entwicklung lassen sich dafür noch weitere Vorteile realisieren. Wie sieht eine CI/CD Pipeline-mit Containern aus?

Mit dem auf Open Source basierenden Projekt Tekton können Sie 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.

OpenShift Pipelines

OpenShift Pipelines ist eine Funktion von Red Hat OpenShift, die auf Tekton aufbaut. Dieses Open Source-Projekt liefert ein Framework, in dem cloudnativeCI/CD-Pipelines schnell erstellt werden können. Tekton ist ein CI/CD-Framework für Kubernetes-Plattformen, das eine cloudnative CI/CD-Standarderfahrung mit Containern ermöglicht. Tekton ist ein Kubernetes-natives Framework, das die Bereitstellung mehrerer Cloud-Anbieter oder Hybrid-Umgebungen vereinfacht. 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 und Knative.

Die Bausteine Ihrer CI/CD-Pipeline

Red Hat Openshift

Eine Container- und Kubernetes-Plattform für eine schnellere Entwicklung cloudnativer Anwendungen.

Red Hat Ansible Automation Platform

CI/CD erfordert eine umfassende benutzerdefinierte Kodierung sowie mehrere Softwarepakete. Red Hat Ansible Automation Platform ist eine Open Source-Automatisierungssprache, die alle benötigten Funktionen vereint.

CI/CD hat noch viel mehr zu bieten