Kurzfassung
CI/CD steht für Continuous Integration und Continuous Delivery (oder Deployment) und bezeichnet Praktiken sowie Tooling, die das Integrieren von Code-Änderungen, das Ausführen von Tests und die Auslieferung von Software in die Produktion automatisieren.
Was ist CI/CD?
CI/CD ist ein Oberbegriff, der zwei eng verwandte Praktiken zusammenfasst. Continuous Integration (CI) konzentriert sich auf das automatische Bauen und Testen jeder Code-Änderung, sobald sie in ein gemeinsames Repository gemergt wird. Dadurch werden Integrationsfehler früh erkannt und die Codebasis bleibt in einem stets releasefähigen Zustand.
Continuous Delivery (CD) erweitert CI, indem jeder erfolgreiche Build automatisch für ein Release in eine Staging- oder Produktionsumgebung vorbereitet wird. Das Deployment selbst kann noch einen manuellen Genehmigungsschritt erfordern. Continuous Deployment geht einen Schritt weiter und entfernt diesen manuellen Schritt vollständig.
Eine CI/CD-Pipeline wird typischerweise als eine Abfolge automatisierter Stufen implementiert: Quellcode-Checkout, Build, Unit-Tests, Integrationstests, Security Scans, Artefakt-Veröffentlichung und Deployment. Verbreitete Tools sind Jenkins, GitHub Actions und GitLab CI.
Warum ist CI/CD relevant?
- Schnellere Markteinführung: Automatisierte Pipelines verkürzen die Zeit vom Code-Commit bis zum Produktions-Release
- Höhere Softwarequalität: Automatisiertes Testen erkennt Fehler früh, bevor sie Endnutzer erreichen
- Geringeres Deployment-Risiko: Kleine, häufige Releases sind einfacher zu debuggen und zurückzurollen als große Batch-Releases