Wieso eine Versionsverwaltung für das Deployment von Web-Anwendungen einsetzen?

Seit einigen Jahren arbeite ich immer wieder an verschiedenen Webprojekten. Angefangen habe ich noch in einer Zeit, als eine Webpage aus einer einzelnen statischen index.html bestanden hat. Ein Update per FTP-Client ist für so eine einfache Seite selbstverständlich genug. In der heutigen Zeit ist die Komplexität der meisten Webpages jedoch um Dimensionen höher, als vor 10 Jahren. Werden die eingesetzten Tools und Arbeitsweisen nicht diesem Umstand angepasst, so wird das Arbeiten unheimlich mühsam und ineffizient. Zusätzlich steigt die Fehleranfälligkeit mit zunehmender Komplexität der Webpage an. Daher sollte für den Desaster-Fall eine gute Möglichkeit bestehen, auf die alte Version zurückkehren zu können.

Genau hier kann eine Versionsverwaltung aktiv helfen. Meine eigenen Projekte bestehen aus zig tausenden Zeilen von Code. Einiges selber geschrieben, vieles in Form von JavaScripts oder CSS-Files dazu kopiert. Um bei der Fülle an Files und Verzeichnissen keine Fehler zu machen, habe ich bis vor kurzem bei einem Update mehrere Stunden investiert. Diese habe ich in der jüngsten Vergangenheit nun auf wenige Sekunden reduzieren können. Dies dank diversen Infos auf dem Web und dem Einsatz von Git.

Um einige Vorteile/Nachteile zu  nennen:

  1. Mit einer Versionsverwaltung müssen nur die Dateien hochgeladen werden, die aktualisiert wurden. Auch im Zeitalter von High-Speed-Internet ist ein Arbeitsfluss ohne Unterbrechungen einfach angenehmer als per FTP-Client
  2. Falls mehrere Verzeichnisse bestehen und nicht alle hochgeladen werden dürfen, müssen die hochzuladenden Verzeichnisse im FTP-Client einzeln angewählt werden
  3. Ein Einspielen des Backups braucht mindestens nochmals so viel Zeit, wie das hochladen des Updates. Bei einer Versionsverwaltung kann einfach auf den ursprünglichen Zustand gewechselt werden!
  4. Bei einem Update sollte zuerst ein Backup angelegt werden. D.h. normalerweise müssen alle Files heruntergeladen werden.
  5. Per FTP-Client müssen anschliessend an das Hochladen die Rechte der Dateien kontrolliert und ggf. angepasst werden.