Zurücksetzen der Umgebung auf Adobe Commerce in der Cloud-Infrastruktur

In diesem Artikel werden verschiedene Szenarien für die Zurücksetzung einer Umgebung in Adobe Commerce in der Cloud-Infrastruktur vorgestellt.

Wählen Sie die für Ihren Fall am besten geeignete Option aus:

Szenario 1: Geplante Aktivität

Bei einer geplanten Bereitstellung oder Aktualisierung wäre der Händler am einfachsten und empfohlener Rollback, als Teil Ihrer Vorbereitungen Folgendes zu tun:

NOTE
Testen Sie diese Schritte immer zuerst in Ihrem Staging Environment!

Fünf Tage vor der Upgrade-/Bereitstellungsaktivität:

  1. Überprüfen Sie die Größe der aktuellen Datenbank.
  2. Vergewissern Sie sich, dass Sie genügend Speicherplatz auf /data/exports haben, um eine Database Dump aufzunehmen. Wenn Sie nicht genügend Festplattenspeicher haben, entfernen Sie entweder unerwünschte Daten oder erstellen Sie einen Support-Fall und fordern Sie die Erweiterung der Festplatte an.

Am Tag der Änderungen:

  1. Platzieren Sie die Website in Maintenance Mode.

    Weitere Informationen zu Aktivieren oder Deaktivieren von Maintenance Mode finden Sie in unserem Benutzerhandbuch und den Maintenance Mode Optionen für die Aktualisierung in unserem Upgrade-Handbuch.
  2. Nehmen Sie eine lokale Database Dump.

Wenn ein Rollback erforderlich ist:

  1. Wenn Anwendungen wie MariaDB im Rahmen dieser geplanten Aktivität aktualisiert wurden, lassen Sie diese Anwendung zuerst auf eine frühere Version neu installieren.
  2. Rollback die Datenbank mit der lokalen Database Dump und importieren Sie diese zurück in MariaDB.
  3. Rollback den Code über Git zu einer vorherigen funktionierenden Version.

Die Verwendung von Snapshots ist nicht die empfohlene Methode für die Aktualisierung/geplante Aktivität rollbacks/restores, da es viel länger dauert, die Daten im Vergleich zu einer lokalen Database Dump abzurufen, wie oben in Schritt 2 des Abschnitts Wenn ein Rollback erforderlich ist beschrieben.

Snapshots wird nicht auf dem Knoten/Server gespeichert, sondern in einem separaten Speicherblock gespeichert. Da diese Daten vom Blockspeicher über das Netzwerk auf eine neue Festplatte übertragen werden müssen, dauert es im Prozess Zeit. Diese neue Festplatte wird dann auf den Knoten gemountet, der zum Abrufen/Import auf die ursprüngliche Festplatte bereit ist, die mit dem Knoten/Server verbunden ist.

Wenn Sie dies mit dem Import eines lokalen Database Dump vergleichen, können die Daten bereits auf dem Knoten/Server abgerufen werden, sodass viel Zeit gespeichert wird, da nur ein Database Import erforderlich ist.

Szenario 2: Momentaufnahme wiederherstellen

Lesen Sie: Wiederherstellen einer Momentaufnahme auf Adobe Commerce in der Cloud-Infrastruktur in unserer Entwicklerdokumentation.

NOTE
Die Erstellung eines Schnappschusses muss unser erster Schritt nach dem Zugriff auf Adobe Commerce über das Cloud-Infrastrukturkonto und vor der Anwendung größerer Änderungen sein. Dies ist eine Best Practice und wird dringend empfohlen.

Lesen Sie: Erstellen Sie eine Momentaufnahme in unserer Entwicklerdokumentation.

Szenario 3: Keine Momentaufnahme, Build-Stable (SSH-Verbindung verfügbar)

In diesem Abschnitt wird gezeigt, wie Sie eine Umgebung zurücksetzen, wenn Sie keine Momentaufnahme erstellt haben, aber über SSH auf die Umgebung zugreifen können.

Die Schritte sind:

  1. Deaktivieren Sie die Konfigurationsverwaltung.
  2. Deinstallieren Sie die Adobe Commerce-Software.
  3. Setzen Sie den Zweig git zurück.

Führen Sie diese Schritte aus:

  • Ihre Adobe Commerce-Installation kehrt zum Vanilla-Status zurück (Datenbank wiederhergestellt, Bereitstellungskonfiguration entfernt, Ordner unter var gelöscht).
  • Ihr git -Zweig wird in der Vergangenheit auf den gewünschten Status zurückgesetzt.

Lesen Sie die detaillierten Schritte unten.

Schritt 0 (Voraussetzung): Entfernen Sie config.php, um die Konfigurationsverwaltung zu deaktivieren

Wir müssen Configuration Management deaktivieren, damit die vorherigen Konfigurationseinstellungen während der Bereitstellung nicht automatisch angewendet werden.

Um Configuration Management zu deaktivieren, stellen Sie sicher, dass Ihr /app/etc/ -Verzeichnis nicht die Datei config.php enthält.

Gehen Sie wie folgt vor, um die Konfigurationsdatei zu entfernen:

  1. SSH in Ihre Umgebung.
  2. Entfernen Sie die Konfigurationsdatei: rm app/etc/config.php

Weitere Informationen zur Konfigurationsverwaltung:

Schritt 1: Deinstallieren Sie die Adobe Commerce-Software mit setup:uninstall-Befehl

Durch die Deinstallation der Adobe Commerce-Software wird die Datenbank gelöscht, die Bereitstellungskonfiguration entfernt und die Ordner unter var gelöscht.

Lesen Sie: Deinstallieren Sie die Adobe Commerce-Software in unserer Entwicklerdokumentation.

Gehen Sie wie folgt vor, um die Adobe Commerce-Software zu deinstallieren:

  1. SSH in Ihre Umgebung.
  2. Ausführen von setup:uninstall : bin/magento setup:uninstall
  3. Bestätigen Sie die Deinstallation.

Die folgende Meldung wird angezeigt, um eine erfolgreiche Deinstallation zu bestätigen:

[SUCCESS]: Magento uninstallation complete.

Dies bedeutet, dass wir unsere Adobe Commerce-Installation (einschließlich DB) wieder in ihren authentischen Zustand (Vanilla) zurückversetzt haben.

Schritt 2: Zurücksetzen des Zweigs git

Beim Zurücksetzen von git wird der Code in der Vergangenheit wieder in den gewünschten Status zurückgesetzt.

  1. Klonen Sie die Umgebung in Ihre lokale Entwicklungsumgebung. Sie können den Befehl in die Cloud-Konsole kopieren: copy_git_clone.png
  2. Rufen Sie den Commits-Verlauf auf. Verwenden Sie --reverse, um den Verlauf für mehr Komfort in umgekehrter Reihenfolge anzuzeigen: git log --reverse
  3. Wählen Sie den Commit-Hash aus, für den Sie gut waren. Um den Code auf seinen authentischen Status (Vanilla) zurückzusetzen, suchen Sie den allerersten Commit, der Ihre Verzweigung (Umgebung) erstellt hat.
    Auswählen eines Commit-Hashs in der Git-Konsole
  4. Anwenden von Hard git reset: git reset --h <commit_hash>
  5. Push-Änderungen an Server: git push --force <origin> <branch>

Nachdem Sie diese Schritte ausgeführt haben, wird der git-Zweig zurückgesetzt und der gesamte git-Änderungsprotokoll ist klar. Die letzten git Push-Trigger führen die Bereitstellung erneut durch, um alle Änderungen anzuwenden und Adobe Commerce erneut zu installieren.

Szenario 4: Kein Schnappschuss; beschädigter Build (keine SSH Verbindung)

In diesem Abschnitt wird gezeigt, wie eine Umgebung zurückgesetzt wird, wenn sie sich in einem kritischen Zustand befindet: Das Implementierungsverfahren kann beim Erstellen einer funktionierenden Anwendung nicht erfolgreich sein, sodass die SSH-Verbindung nicht verfügbar ist.

In diesem Szenario müssen Sie zunächst den Arbeitsstatus Ihrer Adobe Commerce-Anwendung mithilfe von git zurücksetzen und dann die Adobe Commerce-Software deinstallieren (um die Datenbank abzulegen und wiederherzustellen, die Bereitstellungskonfiguration zu entfernen usw.). Das Szenario umfasst dieselben Schritte wie in Szenario 3, aber die Reihenfolge der Schritte ist anders und es gibt einen zusätzlichen Schritt - "Erzwingen der erneuten Bereitstellung". Die Schritte sind:

Nachdem Sie diese Schritte ausgeführt haben, haben Sie dieselben Ergebnisse wie in Szenario 3.

Schritt 4: Erzwingen der erneuten Bereitstellung

Erstellen Sie einen Commit (dies kann ein leerer Commit sein, obwohl wir ihn nicht empfehlen) und pushen Sie ihn auf den Server, um eine erneute Bereitstellung des Triggers durchzuführen:

git commit --allow-empty -m "<message>" && git push <origin> <branch>

Wenn Setup:uninstall fehlschlägt, die Datenbank manuell zurücksetzen

Wenn die Ausführung des Befehls setup:uninstall mit einem Fehler fehlschlägt und nicht abgeschlossen werden kann, können wir die DB mit den folgenden Schritten manuell löschen:

  1. SSH in Ihre Umgebung.
  2. Stellen Sie eine Verbindung zur MySQL DB her: mysql -h database.internal (Informationen zu Pro-Umgebungen finden Sie unter: MySQL-Dienst einrichten).
  3. Legen Sie die main DB ab: drop database main;
  4. Erstellen Sie eine leere main DB: create database main;
  5. Löschen Sie die folgenden Konfigurationsdateien: config.php , config.php , .bak, , env.php, env.php.bak

Nachdem Sie die DB zurückgesetzt haben, senden Sie einen git Push in die Umgebung, um den Trigger erneut bereitzustellen und installieren Sie Adobe Commerce in einer neu erstellten DB. Oder führen Sie den Befehl zum erneuten Bereitstellen aus.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a