Was ist CI/CD?
CI/CD steht für Continuous Integration und Continuous Deployment (bzw. Continuous Delivery). Es ist ein zentrales Konzept moderner Softwareentwicklung, das die automatisierte Integration, Prüfung und Auslieferung von Codeänderungen beschreibt.
Continuous Integration (CI)
Bei Continuous Integration werden Codeänderungen aller Entwickler regelmäßig – idealerweise mehrmals täglich – in ein gemeinsames Repository zusammengeführt. Jede Integration löst automatisch aus:
- Build: Die Anwendung wird kompiliert bzw. gebaut
- Automatisierte Tests: Unit-Tests, Integrationstests und Linting laufen durch
- Feedback: Entwickler erhalten sofortige Rückmeldung über Fehler
Continuous Deployment / Delivery (CD)
- Continuous Delivery: Jede geprüfte Änderung ist jederzeit deploybar, das Deployment erfolgt aber manuell
- Continuous Deployment: Jede erfolgreich geprüfte Änderung wird automatisch in Produktion ausgerollt
Typische CI/CD-Pipeline
- Code Commit → Entwickler pusht Änderung ins Repository
- Build → Automatisches Bauen der Anwendung
- Test → Automatisierte Test-Suiten laufen durch
- Security Scan → Prüfung auf Sicherheitslücken (CVE-Audits)
- Staging → Deployment in Testumgebung
- Production → Auslieferung an Endnutzer
Vorteile
- Schnellere Releases: Neue Features und Bugfixes erreichen Nutzer in Stunden statt Wochen
- Höhere Qualität: Automatisierte Tests finden Fehler frühzeitig
- Weniger Risiko: Kleine, häufige Deployments sind einfacher rückgängig zu machen
- Transparenz: Jeder Schritt ist nachvollziehbar und dokumentiert
Tools und Technologien
| Tool | Einsatz |
|---|---|
| GitLab CI | Pipeline-Definition in .gitlab-ci.yml |
| GitHub Actions | CI/CD direkt in GitHub-Repositories |
| Docker | Konsistente Build- und Laufzeitumgebungen |
| Kubernetes | Orchestrierung von Container-Deployments |

