Magento Security Update

Magento Sicherheits-Patches mit Git

Der aktuelle Patch von Magento (PATCH-SUPEE-6788) setzt voraus, dass die meisten Patches, die vorher veröffentlicht wurden bereits auf den Shop angewendet wurden.

Da viele Extenstions und Module nach Anwendung PATCH-SUPEE-6788 nicht mehr richtig funktionieren, muss der jeweilige Shop erst auf einer Sandbox getestet werden. Das Problem dabei ist, dass manche Patches eine Änderung an der Datenbank vornehmen. Spielt man also nach dem Testen einfach den komplett gepatchten Shop auf den Liveserver, wird es ziemlich sicher Probleme mit der Datenbank geben. Die Updates sollten also Step-by-Step vorgenommen werden.

Theoretisch müsste ein Shop also erst auf dem Rechner des Developers Step-by-Step gepached werden. Danach auf der Sandbox nochmal, und ein drittes mal auf dem Liveserver.

Um das zu vermeiden lässt sich folgender Git-Workflow einsetzen:

Sicherheits-Patches auf dem Rechner des Developers

  1. Der Developer erstellt pro Patch eine Branch die auf der vorherigen basiert.
  2. Nach Anwendung des letzten Patches (SUPEE-6788) wird ein Dump der lokalen Datenbank erstellt.
  3. Die letzte Branch wird mit der Datanbank auf der Sandbox installiert und getestet
  4. Bei positiven Tests, kann nun auf dem Liveserver Step-by-Step eine Branch nach der anderen gemerged und deployed werden.

supee-6788-grafik

Der Vorgang ist also wie folgt:

Beispiel: Erster Patch

git checkout -b 1­-SUPEE­-nnn

­

  • Danach den Patch anwenden
  • Cache löschen
  • Shop Admin aufrufen
  • Shop Testen
git add --all
git commit -m"1 Patch-Supee-nnn"

Danach wird von dieser Branch aus die nächste Branch für den nächsten Patch erstellt.

Die letzte Branch (Im Beispiel «Patch 3») wird dann mit einem Datanbankdump auf der Sandbox installiert und getestet.

Deployment auf dem Liveserver

Auf dem Liveserver kann nicht einfach ein Datenbankdump eingespielt werden. Zwischenzeitlich sind ja Bestellungen, Registrierungen etc. in dem Shop eingegangen. Deswegen wird nun Branch für Branch gemerged und auf den Liveserver gepulled.
Nach jeder Branch wird auf dem Liveserver wieder der cache gelöscht und der Shop getestet.

supee-6788-grafik2

Auch wenn das ganze auf Anhieb etwas aufwändig aussieht, bietet diese Vorgehensweise die maximale Flexibilität und Sicherheit.

 

5 Kommentare zu «Magento Sicherheits-Patches mit Git»

  1. Hallo,

    warum bietet denn der Ansatz «Auch wenn das ganze auf Anhieb etwas aufwändig aussieht, bietet diese Vorgehensweise die maximale Flexibilität und Sicherheit.»? Was passiert mit dem Shop während der Updates bzw. Testen ebendieser? Was spricht z.B. gegen die Verwendung vcn Update-Scripts?

    Viele Grüße

    Michael

    1. Hallo Michael,
      danke für Dein Interesse. Durch das Patchen mit dem Gitaufbau hat man z.B. die Möglichkeit jederzeit wieder auf die letzte Branch zurück zu gehen. Oder in den Gitlogs nachzusehen, was geändert wurde – um z.B. eine Extension zu reparieren wenn diese nach dem Patch nicht mehr funktioniert.
      Mit Scripts müsste man Lokal-, Sandbox- und Liveserver patchen und hätte oben genannte Möglichkeiten nicht.
      Sicherlich führen viele Wege nach Rom. Meine Erfahrung mit dem beschriebenen Aufbau ist aber durchweg positiv – weshalb ich das gerne so einsetze.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert