GitLab CI/CD - AWS Präskriptive Leitlinien

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.

GitLab CI/CD

GitLab CI/CD is an integrated part of the GitLab platform that provides continuous integration, delivery, and deployment capabilities. Although GitLab CI/CDist nicht ausschließlich ein GitOps Tool. Sie können es so konfigurieren, dass es GitOps Prinzipien implementiert, insbesondere wenn Sie es für Kubernetes-Bereitstellungen verwenden.

GitOps Unterstützung

Flächen Funktionen des Tools

Git als zentrale Informationsquelle

GitLab CI/CD verwendet Git-Repositorys, um sowohl Anwendungscode als auch Infrastrukturkonfigurationen zu speichern. Alle Änderungen am System werden über Git vorgenommen, wodurch ein vollständiger Verlauf und ein Audit-Trail gewährleistet sind.

Deklarative Konfiguration

GitLab CI/CD-Pipelines werden in einer .gitlab-ci.yml-Datei definiert, einer deklarativen Konfiguration, die im Git-Repository gespeichert ist. Kubernetes-Manifeste, Helm-Charts oder andere Infrastructure-as-Code-Dateien (IaC) können im selben Repository gespeichert werden, um den gewünschten Status der Infrastruktur zu definieren.

Automatisierte Pipelines

GitLab CI/CD löst automatisch Pipelines aus, wenn Änderungen in das Repository übertragen werden. Diese Pipelines können Phasen für die Erstellung, das Testen und die Bereitstellung von Anwendungen umfassen.

Kubernetes-Integration

GitLab CI/CD bietet eine native Kubernetes-Integration und unterstützt GitOps Bereitstellungen im Stil von Kubernetes-Clustern. Es kann automatisch Kubernetes-Ressourcen basierend auf der Konfiguration in Git erstellen und verwalten.

Verwaltung der Umgebung

GitLab CI/CD unterstützt die Definition mehrerer Umgebungen (wie Staging und Produktion) als Code. Bereitstellungen in diesen Umgebungen können automatisiert werden oder erfordern möglicherweise eine manuelle Genehmigung, sofern die geltenden Verfahren eingehalten werden. GitOps

Bewerbungen überprüfen

GitLab kann automatisch temporäre Umgebungen für Merge-Anfragen erstellen, ähnlich wie Vorschauumgebungen in anderen GitOps Tools. Dies ermöglicht das einfache Überprüfen und Testen von Änderungen vor Zusammenführungen.

Fortlaufende Bereitstellung

GitLab CI/CD kann so konfiguriert werden, dass Änderungen automatisch an Kubernetes-Clustern bereitgestellt werden, wenn Änderungen in bestimmten Branches zusammengeführt werden.

IaC

GitLab CI/CD unterstützt die Integration mit Tools wie Terraform und die Verwaltung der Infrastruktur als Code. CloudFormation Infrastrukturdefinitionen können zusammen mit dem Anwendungscode versionsgesteuert werden.

Beobachtbarkeit und Überwachung

GitLab CI/CD bietet integrierte Überwachungs- und Beobachtbarkeitsfunktionen, einschließlich der Integration mit Prometheus und Grafana.

Sicherheitsscans

GitLab CI/CD includes built-in security scanning tools that can be integrated into the CI/CDPipeline zur Durchsetzung der Sicherheit als Teil des GitOps Workflows.

Container-Registrierung

GitLab CI/CD enthält eine integrierte Container-Registry für die nahtlose Integration der Container-Imageverwaltung in den GitOps Workflow.

Automatisch DevOps

Die automatische DevOps Funktion in GitLab CI/CD can automatically configure CI/CD Pipelines, die den GitOps Prinzipien für Kubernetes-Bereitstellungen folgen.

Workflows für Genehmigungen

GitLab CI/CD unterstützt Genehmigungsverfahren für Bereitstellungen, die eine kontrollierte Beförderung zwischen Umgebungen ermöglichen.

Verwaltung von Secrets

GitLab CI/CD provides features to securely manage and use secrets within CI/CDPipelines.

Versionierung und Veröffentlichungen

GitLab CI/CD supports automatic versioning and release management as part of the CI/CDProzess.

Rollbacks

GitLab CI/CD ermöglicht einfache Rollbacks zu früheren Versionen, falls nach der Bereitstellung Probleme festgestellt werden.

Auditprotokolle

GitLab CI/CD bietet umfassende Auditprotokolle für alle Aktionen, um den Aspekt der Rückverfolgbarkeit von zu unterstützen. GitOps

Pipelines für mehrere Projekte

GitLab CI/CD unterstützt komplexe GitOps Workflows, die sich über mehrere Projekte oder Repositorien erstrecken.

ChatOps

GitLab CI/CD unterstützt ChatOps Integrationen, die Zusammenarbeit und Abläufe über Chat-Schnittstellen ermöglichen.

Verwaltung von Kubernetes-Clustern

GitLab CI/CD bietet Funktionen für die Verwaltung von Kubernetes-Clustern direkt über die Schnittstelle. GitLab

Das Kubernetes-Management macht es jedoch GitLab CI/CD is not exclusively designed for GitOps, it can be used effectively to implement GitOps practices, especially for teams that already use GitLab as their primary development platform. Its integrated approach, which combines source control, CI/CD zu einem leistungsstarken Tool für die Implementierung von Workflows. GitOps

Der Hauptunterschied zwischen GitLab CI/CD and dedicated GitOps tools such as Argo CD or Flux is that GitLab provides a more comprehensive platform that includes source control management, issue tracking, and other development tools along with its CI/CD den Funktionen. Dies macht es besonders für Teams geeignet, die eine all-in-one Lösung benötigen, mit der GitOps Praktiken in einem breiteren Entwicklungssystem implementiert werden können.

Weitere Informationen zu GitLab CI/CD und seiner Architektur finden Sie in der GitLab CI/CD-Dokumentation.