CI steht für Continuous Integration, CD für Continuous Delivery oder Deployment. Gemeint ist ein Ablauf, der ohne Zutun anspringt, sobald jemand etwas ändert: Die Anwendung wird gebaut, die Tests laufen, die Codeprüfungen laufen, und erst wenn alles durch ist, geht es weiter.
Der Nutzen liegt weniger in der gesparten Zeit als in der Verlässlichkeit. Eine Prüfung, die jemand von Hand anstoßen muss, wird unter Druck ausgelassen. Und unter Druck steht man genau dann, wenn schnell etwas repariert werden soll, also im ungünstigsten Moment.
Ausliefern ohne Ausfallzeit
Der zweite Teil betrifft den Weg auf den Server. Ein Deployment, bei dem die Anwendung für zwei Minuten weg ist, ist in vielen Häusern nicht hinnehmbar. Der übliche Weg: Die neue Fassung wird vollständig daneben aufgebaut, und erst wenn sie steht, wird umgeschaltet.
Dazu gehören Vorkehrungen, die man einmal trifft. Änderungen an der Datenbank müssen so geschnitten sein, dass alte und neue Fassung kurz nebeneinander laufen können. Und es braucht einen Weg zurück, der nicht darin besteht, unter Zeitdruck einen Fehler zu suchen.