# CI/CD Concepts: Die Engine des modernen IT-Betriebs

TL;DR / Management Summary In der traditionellen IT dauerte ein Release Wochen. Mit CI/CD (Continuous Integration / Continuous Deployment) automatisieren wir den gesamten Weg vom Quellcode bis zur Live-Schaltung. Ein Senior Admin nutzt CI/CD Pipelines nicht nur für Software, sondern für die gesamte Infrastruktur (GitOps). Jede Änderung an einer Firewall-Regel (Artikel 553) oder einer Proxmox-VM (Artikel 715) fließt durch eine automatisierte Pipeline, wird getestet und erst dann in Produktion ausgerollt.


# 1. Was ist CI/CD?

Die zwei Hälften der Medaille.

# 1. Continuous Integration (CI)

Entwickler (oder Admins) schieben Code mehrmals täglich in ein Repository (Git).

# 2. Continuous Deployment / Delivery (CD)

Der geprüfte Code wird automatisch in die Zielumgebung ausgerollt (Deploy).


# 2. Die Anatomie einer Pipeline

Der Weg der Arbeit.

Eine Pipeline besteht aus aufeinanderfolgenden Stufen (Stages):

  1. Lint: Syntax-Prüfung (Ist das YAML valide?).
  2. Test: Unit-Tests und Integration-Tests.
  3. Build: Erstellen von Binaries oder Docker-Images.
  4. Staging: Deployment in eine Test-Umgebung (LXC/VM in Proxmox).
  5. Production: Der finale Schwenk in die Live-Umgebung.

# 3. Deep Dive: GitOps – CI/CD für Admins

Infrastruktur als Code.

In einer GitOps-Welt ist Git der “Single Point of Truth”.


# 4. Day-2 Operations: Rollback & Sicherheit

Wenn die Pipeline brennt.

# Automatisierter Rollback

Wenn die Pipeline in der Staging-Phase Fehler meldet (z.B. HTTP 500), darf der Prozess niemals in Produktion fortgeführt werden.


# 5. Troubleshooting & “War Stories”

Wenn die Automatik Amok läuft.

# Top 3 Fehlerbilder

  1. Symptom: Pipeline schlägt ständig fehl ohne ersichtlichen Grund.

    • Ursache: Flaky Tests oder Ressourcen-Mangel am Runner (zu wenig RAM).
    • Lösung: Runner-Auslastung überwachen.
  2. Symptom: Sensible Daten (Passwörter) landen im Git-Log.

    • Fix: Nutzen Sie CI/CD Variables (Masked) und Tools wie Vault (HashiCorp).
  3. Symptom: Pipeline dauert 30 Minuten für eine kleine Änderung.

    • Fix: Nutzen Sie Caching für Pakete (apt/npm) im Runner.

# “War Story”: Der “Unendliche” Build-Loop

Ein Admin konfigurierte eine Pipeline, die am Ende des Laufs einen Zeitstempel in eine README-Datei schrieb und diese wieder ins Git pushte. Das Ereignis: Der Push der README triggerte eine neue Pipeline. Das Ergebnis: Innerhalb einer Nacht liefen 5000 Pipelines, verbrauchten alle Cloud-Credits und legten den Proxmox-Host des Runners lahm. Lehre: Vermeiden Sie “Self-Writing” Code in Pipelines. Nutzen Sie [skip ci] im Commit-Kommentar für automatisierte Commits.


# 6. Monitoring & Reporting

Pipeline-Health.

# Success Rate Dashboard

Überwachen Sie in GitLab oder Jenkins:


# 7. Fazit & Empfehlung

CI/CD ist das Betriebssystem der modernen IT-Abteilung.


# Anhang: Cheatsheet (Pipeline Flow)

Phase Tool Beispiel Zweck
Commit Git / GitLab Trigger
Lint ansible-lint Syntax Check
Plan terraform plan Vorschau
Approval Merge Request Menschliche Kontrolle
Apply terraform apply Ausführung

# Referenzen