Was ist CI/CD?
CI
Continuous Integration: Änderungen laufend zusammenführen und automatisch testen.
CD
Continuous Delivery/Deployment: automatisch bereitstellen bzw. ausrollen.
- Weniger manuelle Fehler
- Schnelleres, verlässlicheres Ausrollen
Die Pipeline
Ein automatisierter Ablauf, ausgelöst durch einen Git-Push.
Typisch: Build → Test → (Staging) → Deploy
- Jede Phase kann die Pipeline stoppen
- Nur getesteter Code geht weiter
- Ergebnisse sind einsehbar und protokolliert
GitHub Actions
CI/CD direkt in GitHub, per YAML beschrieben.
- Workflows in
.github/workflows/
- Ausgelöst durch Push, Pull Request oder Zeitplan
- Große Auswahl fertiger Actions
Anwendung: Deployment
Beispiel für einen einfachen Ablauf.
- Push löst die Pipeline aus
- Automatischer Build und Test
- Bei Erfolg: Ausrollen auf den Zielserver
- Secrets sicher im CI-Tresor hinterlegen
Gute Praxis
Erst nach Staging in Produktion – und immer mit einem Rückweg (Rollback).
- Kleine, häufige Änderungen statt großer Sprünge
- Pipelines schnell und aussagekräftig halten
- Zugangsdaten niemals im Repository
Qualität & Sicherheit
Tests und Linting als Gate: schlägt etwas fehl, geht der Code nicht weiter.
- Automatische Tests bei jedem Push
- Abhängigkeits- und Sicherheits-Scans (SAST)
- Rollback- oder Blue-Green-Deployment