Continuous Integration / Continuous Deployment (CI/CD)

CI/CD macht Änderungen über automatisierte Prüfungen zu kontrollierbar auslieferbaren Versionen.

Automatisierte Prozesse, die Code-Änderungen kontinuierlich testen (CI) und in Produktion bringen (CD) – für schnellere und zuverlässigere Software-Releases.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. CI: Automatisches Testen und Bauen bei jeder Code-Änderung
  2. CD: Automatisches Deployment in Produktion nach erfolgreichen Tests
  3. Reduziert Fehler, beschleunigt Releases und erhöht die Codequalität

Sofortantwort

CI/CD einfach erklärt

Automatisierte Prozesse für kontinuierliche Software-Entwicklung.

Kurz gesagt
CI: Automatisches Testen und Bauen bei jeder Code-Änderung
Typischer Einsatz
Web-Deployment, ML-Pipelines, Qualitätssicherung
Wichtig zu wissen
Reduziert Fehler, beschleunigt Releases und erhöht die Codequalität

Continuous Integration / Continuous Deployment im Überblick

CI/CD (Continuous Integration / Continuous Deployment) ist die Praxis, Software-Änderungen automatisch zu testen und in Produktion zu bringen. Jeder Commit löst eine Pipeline aus: Tests laufen automatisch, und wenn alles grün ist, wird die neue Version deployed – ohne manuelle Eingriffe. Für KI-Projekte bedeutet das: Auch Modell-Updates, Daten-Pipelines und Prompt-Änderungen werden automatisch getestet und ausgerollt. ML-CI/CD erweitert klassisches CI/CD um Modell-Evaluation: Ein neues Modell wird nur deployed, wenn es auf dem Holdout-Testset besser ist als das aktuelle Produktionsmodell. Tools wie GitHub Actions, GitLab CI und Jenkins bilden die Basis, ergänzt durch MLflow oder W&B für Modell-Tracking.

CI/CD automatisiert den Weg von einer Code-Änderung bis zur Produktion.

Die Pipeline:

Code Push → Build → Test → (Review) → Deploy → Monitor
    CI ─────────────────┘        CD ──────────────────┘

Typische CI/CD-Pipeline:

SchrittWas passiertBei Fehler
LintCode-Stil prüfenPipeline stoppt
Unit TestsEinzelne Funktionen testenPipeline stoppt
BuildAnwendung bauenPipeline stoppt
Integration TestsZusammenspiel testenPipeline stoppt
Deploy StagingAuf Testumgebung deployenPipeline stoppt
Deploy ProductionLive schaltenRollback

Technisch betrachtet

GitHub Actions Beispiel

name: CI/CD
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm install
      - run: npm test
  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - run: npm run build
      - run: npm run deploy

CI/CD für ML (CT - Continuous Training)

  • Data Validation: Neue Daten auf Schema und Qualität prüfen
  • Model Training: Automatisches Training bei neuen Daten
  • Model Evaluation: Performance gegen Baseline vergleichen
  • Model Registry: Neue Version registrieren
  • Deployment: Bei besserer Performance automatisch deployen

Schritt für Schritt

Änderungen sicher bis zum Betrieb führen

Eine Pipeline ersetzt keine Verantwortung, sie macht Qualitätsprüfungen und Freigaben wiederholbar und sichtbar.

  1. Änderung integrieren

    Integration

    Eine nachvollziehbare Änderung wird mit der gemeinsamen Codebasis zusammengeführt und löst die vereinbarten Prüfungen aus.

    aenderung -> versionierte pipeline
  2. Qualität automatisiert prüfen

    Prüfung

    Build, Tests und passende Sicherheits- oder Datenprüfungen verhindern, dass bekannte Fehler weiterlaufen.

    build + tests + checks -> kandidat
  3. Version freigeben

    Freigabe

    Erfolgreiche Ergebnisse ergeben eine eindeutig identifizierbare Version, die bei Bedarf noch menschlich freigegeben wird.

    gepruefter kandidat -> release
  4. Kontrolliert ausrollen

    Release

    Die Version wird bereitgestellt, beobachtet und kann bei unerwarteter Wirkung auf einen stabilen Stand zurückgesetzt werden.

    release -> rollout -> monitoring oder rollback

Konkretes Beispiel

Eine Prompt-Änderung kontrolliert ausliefern

Ein Team verbessert den System-Prompt einer produktiven Assistenzfunktion.

Direkt in Produktion ändern

Die Wirkung wird erst nach dem Ausrollen sichtbar. Bei Problemen fehlt ein klarer geprüfter vorheriger Stand.

Änderung durch die Pipeline führen

Tests und festgelegte Beispielausgaben prüfen die Änderung. Eine versionierte Freigabe wird schrittweise ausgerollt und beobachtet.

CI/CD verkürzt nicht nur Lieferzeit, sondern verbessert die Rückverfolgbarkeit jeder produktiven Änderung.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Wiederholbare Qualität: Gleiche Prüfungen gelten für jede Änderung statt nur bei einzelnen manuellen Releases.
  • Schnelleres Feedback: Fehler werden früh sichtbar, wenn ihr Kontext und die Korrektur noch klein sind.
  • Nachvollziehbare Versionen: Build, Tests und Auslieferung lassen sich auf eine konkrete Änderung zurückführen.
  • Sicherere Releases: Automatisierung ermöglicht kleine, häufige und kontrollierbare Schritte.

Das solltest du beachten

  • Pipelines brauchen Pflege: Tests, Abhängigkeiten und Laufzeiten müssen dauerhaft sinnvoll gehalten werden.
  • Grün ist nicht automatisch gut: Automatisierte Checks erfassen nur Kriterien, die bewusst definiert wurden.
  • Fehlende Testabdeckung bleibt Risiko: Ungetestete Integrationen oder Fachfälle können trotz Pipeline ausfallen.
  • Zugangsdaten brauchen Schutz: Build- und Deployment-Systeme benötigen eigene minimal berechtigte Identitäten.
Vertiefung · für Fortgeschrittene

Der Weg einer Änderung

Die Pipeline verbindet eine Änderung mit den Nachweisen, die für eine kontrollierte Auslieferung nötig sind.

Wissenskarte

automatisierte Integrations- und Lieferkette

Aus einer Änderung wird über überprüfbare Schritte eine auslieferbare und im Betrieb beobachtete Version. CI/CD gliedert sich in: Codeänderung, Build, Tests, Artefakt, Freigabe, Monitoring.

01Einsatzbereiche

Wann ist CI/CD sinnvoll?

Geeignet für

  • Web-DeploymentAutomatisches Deployment bei jedem Git Push (Vercel, Netlify)
  • ML-PipelinesAutomatisches Retraining und Deployment von ML-Modellen
  • QualitätssicherungAutomatische Tests, Linting und Security-Scans bei jedem Commit

↑ Inhalt

02Werkzeuge

Womit CI/CD umgesetzt wird

↑ Inhalt

Merksatz

CI/CD ist wie ein automatisches Fließband in einer Fabrik

Jede Änderung wird automatisch geprüft (Qualitätskontrolle), verpackt (Build) und ausgeliefert (Deployment) – ohne manuelle Schritte.

  1. CI: Automatisches Testen und Bauen bei jeder Code-Änderung
  2. CD: Automatisches Deployment in Produktion nach erfolgreichen Tests
  3. Reduziert Fehler, beschleunigt Releases und erhöht die Codequalität

03Wissensnetz

Diese Begriffe brauchst du ebenfalls

Nicht „ähnliche Artikel", sondern die Rolle, die jeder Begriff für CI/CD spielt.

↑ Inhalt

04Anwenden

CI/CD praktisch anwenden

↑ Inhalt

05Direkt anwenden

Mit diesem Prompt weiterarbeiten

Eine fertige Vorlage, die CI/CD in eine konkrete Aufgabe übersetzt.
CodeFortgeschritten

CI/CD-Pipeline aufbauen

GitHub Actions oder GitLab CI Pipeline für automatisiertes Testing und Deployment.

2 Min

↑ Inhalt

06Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

07FAQ

Häufige Fragen zu CI/CD

Was ist der Unterschied zwischen Continuous Delivery und Continuous Deployment?

Continuous Delivery: Code ist jederzeit deploybar, aber ein Mensch gibt das finale OK. Continuous Deployment: Jede Änderung, die alle Tests besteht, wird automatisch in Produktion deployt. Deployment ist die aggressivere Variante.

Wie sieht CI/CD für ML aus?

Zusätzlich zu Code-Tests: Datenvalidierung, Modell-Training, Performance-Evaluation gegen Baseline, automatisches Deployment bei besserer Performance. Tools: MLflow, DVC, CML.

Welche Tools sind am besten für CI/CD geeignet?

Beliebte Tools für CI/CD sind Jenkins, GitLab CI, Travis CI und CircleCI. Diese Tools bieten verschiedene Funktionen, die den Prozess der kontinuierlichen Integration und Bereitstellung automatisieren und optimieren.

Wie kann ich CI/CD in ein bestehendes Projekt integrieren?

Um CI/CD in ein bestehendes Projekt zu integrieren, solltest du zunächst ein Repository für deinen Code einrichten und dann ein CI/CD-Tool auswählen. Anschließend konfigurierst du das Tool, um automatisierte Tests und Deployments bei jedem Code-Commit durchzuführen.

↑ Inhalt

08Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Clean Code

    Praktiken für verständlichen und wartbaren Quellcode.

  • Technisch vertiefen

    DevOps

    Eine Praxis, die Softwareentwicklung und IT-Betrieb vereint.

  • In der Praxis anwenden

    MLOps verstehen: Vom Notebook zum Modell in Produktion

    Der Weg vom Jupyter-Notebook in den produktiven Betrieb – Lebenszyklus, Deployment und Monitoring von ML-Modellen.

↑ Inhalt