Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Jenkins X
Jenkins X ist eine Cloud-native CI/CD Open-Source-Plattform, die Prinzipien für Kubernetes-Umgebungen implementiert. GitOps Jenkins X ist zwar nicht ausschließlich ein GitOps Tool wie Argo CD oder Flux, integriert aber Praktiken in seine Workflows. GitOps
GitOps Unterstützung
| Flächen | Funktionen des Tools |
|---|---|
GIT-zentrierter Arbeitsablauf |
Jenkins X verwendet Git-Repositorys als primäre Informationsquelle sowohl für den Anwendungscode als auch für die Konfiguration. Alle Änderungen an Anwendungen und Infrastruktur werden über Git vorgenommen. |
Umgebung als Code (EaC) |
Umgebungen (wie Staging und Produktion) werden in Git-Repositorys als Code definiert. Dies ermöglicht die Versionskontrolle und Überprüfung von Umgebungskonfigurationen. |
Automatisierte CI/CD Pipelines |
Jenkins X richtet automatisch CI/CD Pipelines für Projekte ein. Diese Pipelines sind als Code (Pipeline als Code) definiert und in Git gespeichert. |
Kubernetes-nativ |
Jenkins X wurde speziell für Kubernetes-Umgebungen entwickelt. Es verwendet Kubernetes-Ressourcen und benutzerdefinierte Ressourcendefinitionen (). CRDs |
Umgebungen in der Vorschau anzeigen |
Jenkins X erstellt automatisch temporäre Umgebungen für Pull-Requests. Es ermöglicht die einfache Überprüfung und das Testen von Änderungen vor der Zusammenführung. |
Förderung zwischen Umgebungen |
Jenkins X verwendet einen GitOps Ansatz zur Förderung von Anwendungen zwischen Umgebungen (z. B. vom Staging bis zur Produktion). Werbeaktionen werden mithilfe von Pull-Requests abgewickelt, um einen ordnungsgemäßen Überprüfungs- und Genehmigungsprozess sicherzustellen. |
Verwaltung von Helm-Diagrammen |
Jenkins X verwendet Helm-Diagramme, um Anwendungen zu verpacken und bereitzustellen. Diagramme werden in Git-Repositorys versionsgesteuert. |
Automatisierte Versionierung |
Jenkins X verwaltet automatisch die Versionierung von Anwendungen und Releases. Es verwendet semantische Versionierung und generiert Versionshinweise. |
ChatOps Integration |
Jenkins X unterstützt gängige ChatOps Operationen. Dies entspricht den GitOps Prinzipien der Automatisierung und Zusammenarbeit. |
Erweiterbarkeit |
Dieses Tool bietet ein Plugin-System zur Erweiterung der Funktionalität. Es ermöglicht die Integration mit verschiedenen Cloud-nativen Tools. |
Infrastructure as Code (IaC) |
Jenkins X unterstützt Terraform, CloudFormation AWS Cloud Development Kit (AWS CDK), und andere IaC-Tools zur Definition und Verwaltung der Infrastruktur. Infrastrukturdefinitionen werden zusammen mit dem Anwendungscode versionsgesteuert. |
Automatisierte Rollbacks |
Jenkins X unterstützt automatisierte Rollbacks, wenn nach der Bereitstellung Probleme festgestellt werden. |
Verwaltung von Secrets |
Das Tool lässt sich in externe Secrets-Management-Lösungen integrieren, um vertrauliche Informationen sicher zu handhaben. |
Beobachtbarkeit |
Jenkins X bietet die Integration mit Überwachungs- und Protokollierungstools für die Beobachtbarkeit. |
Multi-Cloud-Unterstützung |
Jenkins X ist so konzipiert, dass es mit verschiedenen Cloud-Anbietern und lokalen Umgebungen funktioniert. |
Zusammenarbeit im Team |
Dieses Tool fördert die Zusammenarbeit durch Git-basierte Workflows und Pull-Requests. |
Kontinuierliches Feedback |
Das Tool bietet schnelles Feedback zu Änderungen durch automatisierte Test- und Vorschauumgebungen. |
DevOps bewährte Verfahren |
Jenkins X implementiert standardmäßig DevOps bewährte Verfahren, einschließlich GitOps Prinzipien. |
Deklarative Konfiguration |
Das Tool verwendet deklarative Konfigurationen zur Definition von Anwendungen und Umgebungen. |
Automatisierte Upgrades |
Jenkins X bietet Tools zur Automatisierung von Upgrades der Jenkins X-Plattform selbst. |
Jenkins X implementiert diese GitOps Prinzipien, um eine umfassende CI/CD-Lösung für Kubernetes zu erstellen. Es zielt darauf ab, den gesamten Softwarebereitstellungsprozess, vom Code-Commit bis zur Produktionsbereitstellung, zu automatisieren und zu rationalisieren und dabei die üblichen Verfahren einzuhalten. GitOps Auf diese Weise unterstützt es Teams dabei, schnellere, zuverlässigere und konsistentere Implementierungen in cloudnativen Umgebungen zu erreichen.
Der Hauptunterschied zwischen Jenkins X und Tools wie Argo CD oder Flux besteht darin, dass Jenkins X eine umfassendere CI/CD Lösung bietet, einschließlich Build-Automatisierung und Pipeline-Management, während gleichzeitig Prinzipien für die Bereitstellung und das Umgebungsmanagement berücksichtigt GitOps werden. Dies macht es besonders für Teams geeignet, die eine all-in-one Lösung benötigen, die sowohl CI- als auch CD-Aspekte in einem einzigen Framework abdeckt. GitOps
Weitere Informationen finden Sie in der Jenkins X-Dokumentation
Architektur
Wobei:
-
Schritt 1: Zusammenführung von Pull-Requests (PR). Ein Entwickler erstellt eine Pull-Anfrage, die Änderungen an Kubernetes-Manifesten, Helm-Diagrammen oder Anwendungscode enthält, der in einem Git-Repository gespeichert ist. Nach der Überprüfung und Genehmigung wird der PR mit dem Hauptzweig zusammengeführt und aktualisiert den gewünschten Status in der Quellcodeverwaltung.
-
Schritt 2: Repository-Synchronisierung. Jenkins X löst automatisch eine CI/CD Pipeline aus, wenn es die Änderung erkennt. Die Pipeline erstellt, testet und verbreitet die Anwendung mithilfe von Prinzipien in verschiedenen Umgebungen (z. B. Staging und Produktion). GitOps
-
Schritt 3: Bereitstellung in Ziel-Namespaces. Jenkins X aktualisiert die Umgebungs-Repositorys (Staging und Produktion) mit den neuen Anwendungsversionen. Der Cluster gleicht die Änderungen automatisch ab, indem er die neuesten Manifeste aus Git abruft und die Anwendung in den entsprechenden Namespaces bereitstellt.