Kostenlose DevOps-Analyse
Zurück zum Blog
CI/CD · GitOps·26. Mai 2026·10 min Lesezeit

CI/CD vs. GitOps.
Push trifft Pull.

CI/CD vs. GitOps als Schema: oben pusht eine CI-Pipeline ein Container-Artefakt aktiv in ein Server-Cluster, unten zieht ein Cluster-Agent den Soll-Zustand aus einem Git-Repository und reconciled ihn in einer grünen Schleife
// Direkte Antwort

CI/CD und GitOps konkurrieren nicht — GitOps ersetzt nur den Deployment-Teil (CD): CI/CD baut, testet und erzeugt Artefakte und „pusht“ klassisch das Deployment. GitOps macht den Zustand deklarativ in Git zur Quelle, und ein Agent (ArgoCD, Flux) „pullt“ ihn ins Cluster und korrigiert Drift automatisch. Continuous Integration bleibt in jedem Fall nötig; GitOps übernimmt danach das pull-basierte, auditierbare Deployment.

// 01Direktvergleich

Worin unterscheiden sich CI/CD und GitOps konkret?

Der Kernunterschied liegt im Deployment-Mechanismus: Klassisches CI/CD pusht aktiv — die Pipeline hält Cluster-Credentials und führt das Deployment selbst aus. GitOps pullt — ein Agent im Cluster beobachtet Git und stellt den deklarierten Zustand selbstständig her. Die Tabelle zeigt, was das für Verantwortlichkeiten, Sicherheit und Drift-Verhalten bedeutet.

Dimension
CI/CD (klassisch)
GitOps
Aufgabe
Bauen, testen, Artefakt erzeugen
Gewünschten Zustand ins Cluster bringen
Mechanik
Push: Pipeline deployt aktiv
Pull: Agent zieht Zustand aus Git
Source of Truth
Pipeline-Definition
Git-Repository (deklarativ)
Drift-Korrektur
Nicht inhärent
Automatische Reconciliation
Typische Tools
Jenkins, GitLab CI, GitHub Actions
ArgoCD, Flux
// 02Workflow in der Praxis

Wie sieht der GitOps-Workflow in der Praxis aus?

In der Praxis übergibt die CI-Pipeline an GitOps über einen Git-Commit: Sie baut und testet das Container-Image, schreibt das neue Image-Tag ins Config-Repository — und ist damit fertig. Den Rest erledigt der Agent im Cluster. Die Pipeline braucht keinerlei Cluster-Credentials mehr.

// Schema — Push deployt aktiv, Pull reconciled selbst
CI/CD vs. GitOps — Push- und Pull-Deployment im VergleichBeim klassischen CI/CD deployt die Pipeline aktiv ins Cluster und braucht dafür Cluster-Credentials. Bei GitOps committet die Pipeline nur den Soll-Zustand ins Config-Repository; ein Agent wie ArgoCD oder Flux pullt ihn von dort ins Cluster und korrigiert Drift automatisch — ohne Inbound-Zugriff von außen.// PUSH — KLASSISCHES CI/CDCI-PipelineBuild · Test · Imagedeployt aktiv — Cluster-Credentials in der CIkein inhärenter Drift-SchutzClusterZielumgebung// PULL — GITOPSCI-PipelineBuild · Test · ImagecommitConfig-RepoSource of Truthpullt Soll-Zustandkein Inbound-Zugriff nötigAgent im ClusterArgoCD · Fluxauto-reconcilePipeline braucht Cluster-ZugriffCluster holt sich den Zustand selbst

Das Beispiel zeigt die Übergabe konkret: Links die GitLab-CI-Pipeline im Anwendungs-Repository, die das Image baut und den neuen Soll-Zustand committet. Rechts das Config-Repository, das ArgoCD oder Flux beobachten — die Änderung des newTag löst das Deployment aus, ganz ohne aktiven Push ins Cluster.

app-repo — .gitlab-ci.yml
stages: [build, update-manifest]

build-image:
  stage: build
  script:
    - docker build -t $REGISTRY/shop/api:$CI_COMMIT_SHORT_SHA .
    - docker push $REGISTRY/shop/api:$CI_COMMIT_SHORT_SHA

update-manifest:
  stage: update-manifest
  script:
    # Soll-Zustand ins Config-Repo committen —
    # keine Cluster-Credentials in der CI
    - git clone https://git.example.com/platform/shop-config.git
    - cd shop-config
    - yq -i '.images[0].newTag = env(CI_COMMIT_SHORT_SHA)'
        overlays/prod/kustomization.yaml
    - git commit -am "shop/api -> $CI_COMMIT_SHORT_SHA"
    - git push origin main
config-repo — overlays/prod/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - ../../base
images:
  - name: registry.example.com/shop/api
    newTag: a1b2c3d   # von der CI committet

# Der Agent im Cluster zieht die Änderung selbst:
$ argocd app get shop-prod
Health Status:   Healthy
Sync Status:     Synced to main (1f4e5d6)
Last Sync:       Succeeded (auto, prune, selfHeal)
// 03Stolpersteine

Welche Stolpersteine gibt es beim Umstieg auf GitOps?

Die häufigsten Fehler beim Umstieg sind organisatorisch, nicht technisch: Anwendungs- und Config-Repository werden nicht getrennt, Secrets landen im Klartext in Git, und Rollbacks werden weiter in Pipeline-Logik gedacht statt in Git-Historie. Vier Punkte, die in Projekten regelmäßig auffallen:

/01

App- und Config-Repo nicht trennen

Liegen Manifeste im Anwendungs-Repository, löst jeder Code-Commit ein Deployment aus und Infrastruktur-Änderungen lassen sich nicht separat reviewen. Ein eigenes Config-Repository pro Plattform oder Team entkoppelt Release-Takt und Deployment-Freigabe.

/02

Image-Tags manuell pflegen

Wer nach jedem Build von Hand das Tag im Config-Repo ändert, baut sich eine manuelle Brücke mitten in die Automatisierung. Entweder committet die CI das Tag selbst (wie im Beispiel oben) oder ein Image Updater (ArgoCD Image Updater, Flux Image Automation) beobachtet die Registry.

/03

Secrets im Klartext in Git

Git als Source of Truth heißt nicht, Datenbank-Passwörter ins Repository zu legen. Etabliert haben sich SOPS-verschlüsselte Secrets, Sealed Secrets oder External Secrets mit einem Vault als Backend — die Wahl sollte vor der ersten produktiven Anwendung feststehen.

/04

Rollbacks in Pipeline-Logik denken

Ein GitOps-Rollback ist ein git revert, keine erneute Pipeline-Ausführung. Teams, die für den Notfall weiter eine „Deploy-alte-Version“-Pipeline mit Cluster-Zugriff pflegen, unterlaufen das Pull-Modell und schaffen einen zweiten, schlecht auditierbaren Deployment-Pfad.

Für Industrieumgebungen kommt ein struktureller Vorteil dazu: Edge-Cluster in Werken hängen oft hinter restriktiven Firewalls oder laufen air-gapped. Das Pull-Prinzip dreht die Verbindungsrichtung um — der Cluster holt sich seinen Soll-Zustand selbst, keine Pipeline muss von außen ins OT-Netz. Welches GitOps-Tool dafür passt, vergleicht ArgoCD vs. Flux.

// 04Häufige Fragen

Was ist der Unterschied zwischen CI/CD und GitOps?

CI/CD beschreibt die automatisierte Kette aus Build, Test und Auslieferung — klassisch „pusht" die Pipeline das Deployment aktiv ins Ziel. GitOps dreht das CD um: Der gewünschte Zustand steht deklarativ in Git, und ein Agent (ArgoCD, Flux) „pullt" ihn und gleicht das Cluster kontinuierlich ab. GitOps ersetzt also nicht CI/CD, sondern den CD-Teil durch ein pull-basiertes, deklaratives Modell.

Ist GitOps Push oder Pull?

GitOps ist pull-basiert: Ein im Cluster laufender Agent beobachtet das Git-Repository und zieht Änderungen, statt dass eine externe Pipeline Zugangsdaten zum Cluster braucht und aktiv pusht. Das verbessert die Sicherheit (keine Cluster-Credentials in der CI) und ermöglicht automatische Drift-Korrektur.

Ersetzt GitOps die CI/CD-Pipeline?

Nein — GitOps ersetzt nur den Deployment-Teil (CD). Continuous Integration (Build, Test, Security-Scans, Artefakt- und Image-Erstellung) bleibt nötig und läuft weiterhin in Jenkins, GitLab CI oder GitHub Actions. Die CI committet anschließend den neuen gewünschten Zustand nach Git, den GitOps übernimmt.

Wie spielen CI/CD und GitOps konkret zusammen?

Typischer Ablauf: 1) CI baut und testet, erzeugt ein Container-Image. 2) Die Pipeline aktualisiert das Image-Tag im Git-Repository (Config-Repo). 3) Der GitOps-Agent erkennt die Änderung und rollt sie ins Cluster aus. So bleiben Build-Logik und Deployment-Zustand sauber getrennt.

Wann ist GitOps gegenüber klassischem Push-CD sinnvoll?

GitOps spielt seine Stärken bei Kubernetes, Multi-Cluster-Setups und regulierten Branchen aus — wegen Audit-Trail über Git, automatischer Reconciliation und fehlender Cluster-Credentials in der CI. Bei einfachen, nicht-kubernetes-basierten Deployments kann klassisches Push-CD weiterhin die pragmatischere Wahl sein.

Was ist ein Config-Repository und warum braucht GitOps eines?

Das Config-Repository hält den gewünschten Cluster-Zustand — Kubernetes-Manifeste, Kustomize-Overlays oder Helm-Values — getrennt vom Anwendungscode. Die Trennung verhindert, dass jeder Code-Commit ein Deployment auslöst, und erlaubt eigene Review- und Freigabeprozesse für Infrastruktur-Änderungen. Der GitOps-Agent beobachtet ausschließlich dieses Repository.

Wie funktionieren Rollbacks mit GitOps?

Ein Rollback ist ein git revert auf dem Config-Repository: Der alte Zustand wird als neuer Commit deklariert, der Agent gleicht das Cluster automatisch an. Es braucht keine separate Rollback-Pipeline und keinen manuellen Cluster-Zugriff — und die Git-Historie dokumentiert nachvollziehbar, wer wann was zurückgerollt hat.

// Nächster Schritt

Erstgespräch.
Kostenlos.
90 Tage zum Ergebnis.

Wir klären gemeinsam, wie Sie in 90 Tagen die ersten messbaren Industrial-DevOps-Erfolge erzielen.

Erstgespräch buchen
Seit 2006 · 47+ Projekte
Industrie · Automotive · Finance