Ein Rollback ist das Zurückschalten auf den vorherigen Stand, wenn ein Deployment Schaden anrichtet. Technisch ist es derselbe Vorgang wie das Ausrollen, nur mit dem älteren Paket.
- Rollback
Das Zurückschalten auf den vorherigen Stand, wenn ein Deployment Schaden anrichtet.
Beispiel: „Der Rollback brauchte zwanzig Sekunden, weil das vorherige Verzeichnis noch lag.“Auf Deutsch Zurückrollen. Wer je Stand ein eigenes Verzeichnis anlegt, legt dafür den Verweis auf das vorherige zurück; wer Container benutzt, startet das vorherige Abbild.
Abgrenzung zum Revert: Dieser nimmt eine Änderung im Repository zurück und erzeugt dafür einen neuen Commit. Der Rollback berührt allein den ausgelieferten Stand.
Wie ein Rollback technisch abläuft
In einem Schritt, wenn er vorbereitet ist. Die letzten Stände liegen als eigene Verzeichnisse auf dem Server, der Verweis wandert zurück, die Zwischenspeicher werden geleert und die Hintergrundprozesse neu gestartet.
Die Abbildung zeigt den Verweis, den ein Rollback auf die vorige Fassung zurücksetzt.
Deshalb bewahren Dienste wie Laravel Forge mehrere Stände auf. Ohne sie beginnt ein Rollback mit einem neuen Build aus einem alten Commit, und das dauert Minuten statt Sekunden.
Warum ein Rollback an der Datenbank endet
Weil Änderungen an der Struktur sich selten umkehren lassen. Eine gelöschte Spalte bringt kein Zurückschalten wieder, und eine geänderte Zeile trägt danach den neuen Wert, auch wenn der alte Code sie anders liest.
Die Grenze liegt dort, wo echte Daten geschrieben wurden. Deshalb gehört vor jede Änderung an der Struktur eine Sicherung, und zwar eine, aus der jemand sie auch zurückholen kann, siehe Backup-Strategie im CMS.
Was einen Rollback vorbereitet
Drei Dinge, alle vor dem Ausrollen: die vorherigen Stände aufbewahren, eine Sicherung der Datenbank anlegen und die Änderungen an der Struktur so bauen, dass der alte Code damit noch läuft.
Dazu kommt die Entscheidung, wer sie trifft. Ein Rollback ist keine Niederlage, sondern der kurze Weg zurück in einen bekannten Zustand; die Fehlersuche folgt danach mit Ruhe.