CI/CD (Continuous Integration / Continuous Deployment)

Alltags-Analogie

einem hochautomatisierten Fließband vergleichen, auf dem jedes neue Bauteil sofort automatisch geprüft und bei erfolgreicher Prüfung direkt eingebaut wird, statt dass jemand jedes Teil händisch kontrollieren und einsetzen muss

Was steckt dahinter?

CI/CD lässt sich am besten mit einem hochautomatisierten Fließband vergleichen, auf dem jedes neue Bauteil sofort automatisch geprüft und bei erfolgreicher Prüfung direkt eingebaut wird, statt dass jemand jedes Teil händisch kontrollieren und einsetzen muss. Continuous Integration bedeutet, dass Codeänderungen regelmäßig – im Idealfall bei jeder einzelnen Änderung – automatisch in das Hauptprojekt integriert und durch automatisierte Tests überprüft werden. Continuous Deployment geht noch einen Schritt weiter und sorgt dafür, dass erfolgreich getesteter Code automatisch auf den Produktionsserver ausgerollt wird, ganz ohne manuelles Eingreifen. Diese Automatisierung reduziert menschliche Fehlerquellen beim Deployment erheblich und erlaubt es Teams, neue Funktionen oder Fehlerbehebungen deutlich schneller und häufiger zu veröffentlichen als bei traditionellen, manuellen Release-Zyklen. Werkzeuge wie GitHub Actions, GitLab CI oder Jenkins übernehmen die technische Umsetzung von CI/CD-Pipelines: Bei jeder Codeänderung im Versionskontroll-System werden automatisch Tests ausgeführt, der Code auf Qualität geprüft und im Erfolgsfall direkt ausgeliefert. Für Laravel-Projekte existieren mit Envoyer spezialisierte Werkzeuge, die diesen Prozess zusätzlich um Funktionen für unterbrechungsfreies Deployment erweitern.