Umgebung auf Adobe Commerce auf Cloud-Infrastruktur zurücksetzen

Dieser Artikel zeigt verschiedene Szenarien für das Zurücksetzen einer Umgebung auf Adobe Commerce in der Cloud-Infrastruktur.

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

Szenario 1: Geplante Aktivität

Bei einer geplanten Bereitstellung oder Aktualisierung wäre die einfachste und empfohlene Rollback, dass der Händler im Rahmen Ihrer Vorbereitungen die folgenden Schritte durchführt:

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

Fünf Tage vor der Aktualisierung/Bereitstellung:

  1. Überprüfen Sie die Größe der aktuellen Datenbank.
  2. Vergewissern Sie sich, dass auf dem /data/exports genügend Speicherplatz für ein Database Dump vorhanden ist. Wenn Sie nicht über genügend Speicherplatz verfügen, entfernen Sie 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.
    Lesen Sie mehr über Aktivieren oder Deaktivieren von Maintenance Mode in unserem Benutzerhandbuch und Maintenance Mode Upgrade-Optionen in unserem Upgrade-Handbuch.
  2. Deaktivieren Sie Cron-Aufträge. Weitere Informationen zum Deaktivieren von Cron-Aufträgen finden Sie in unserem crons properties guide.
  3. Nehmen Sie eine lokale Database Dump.

Wenn eine Rollback erforderlich ist:

  1. Wenn Programme wie MariaDB im Rahmen dieser geplanten Aktivität aktualisiert wurden, muss diese Anwendung zuerst auf eine frühere Version neu installiert werden.
  2. Rollback Sie die Datenbank mithilfe der lokalen Database Dump und importieren Sie sie wieder in MariaDB.
  3. Rollback Sie den Code über Git auf eine frühere Arbeitsversion.

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

Snapshots werden nicht auf dem Knoten/Server, sondern auf einem separaten Speicherblock gespeichert, und da diese Daten vom Blockspeicher über das Netzwerk auf eine neue Festplatte übertragen werden müssen, dauert es dabei lange. Diese neue Festplatte wird dann auf dem Knoten bereitgestellt, der abgerufen/importiert werden kann, und auf der ursprünglichen Festplatte, die mit dem Knoten/Server verbunden ist.

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

Szenario 2: Wiederherstellen eines Snapshots

Lesen Sie Wiederherstellen eines Snapshots auf Adobe Commerce in der CloudInfrastruktur in unserer Entwicklerdokumentation.

NOTE
Das Erstellen eines Snapshots muss unser erster Schritt sein, nachdem wir auf das Adobe Commerce on Cloud Infrastructure-Konto zugegriffen haben und bevor wir große Änderungen vornehmen. Dies ist eine Best Practice und wird dringend empfohlen.

Lesen Sie Erstellen eines Schnappschusses in unserer Entwicklerdokumentation.

Szenario 3: Kein Snapshot, Build stabil (SSH-Verbindung verfügbar)

Dieser Abschnitt zeigt, wie Sie eine Umgebung zurücksetzen, wenn Sie keinen Snapshot 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 die git zurück.

Nachdem Sie diese Schritte ausgeführt haben:

  • Ihre Adobe Commerce-Installation kehrt in den Vanilla-Status zurück (Datenbank wiederhergestellt; Bereitstellungskonfiguration entfernt; Verzeichnisse unter var gelöscht).
  • Ihre git Verzweigung wurde 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 die Konfigurationsverwaltung deaktivieren, damit sie während der Bereitstellung nicht automatisch die vorherigen Konfigurationseinstellungen anwendet.

Um die Konfigurationsverwaltung zu deaktivieren, stellen Sie sicher, dass das /app/etc/-Verzeichnis nicht die 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 dem Befehl setup:uninstall

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

Lesen Sie Adobe Commerce-Software deinstallieren in unserer Entwicklerdokumentation.

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

  1. SSH in Ihre Umgebung.
  2. setup:uninstall ausführen : bin/magento setup:uninstall
  3. Deinstallation bestätigen.

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) in ihren authentischen (Vanilla-)Status zurückgesetzt haben.

Schritt 2: git zurücksetzen

Mit git Zurücksetzen kehren wir den Code in den gewünschten Status in der Vergangenheit zurück.

  1. Klonen Sie die Umgebung in Ihre lokale Entwicklungsumgebung. Sie können den Befehl in die Cloud-Konsole kopieren: copy_git_clone.png
  2. Zugriff auf den Commit-Verlauf. --reverse verwenden, um den Verlauf in umgekehrter Reihenfolge anzuzeigen, um die Anzeige zu vereinfachen: git log --reverse
  3. Wählen Sie den Commit-Hash aus, für den Sie gut waren. Um den Code in seinen authentischen Zustand (Vanilla) zurückzusetzen, suchen Sie den ersten Commit, mit dem Ihre Verzweigung (Umgebung) erstellt wurde.
    ALT-Text
  4. Anwenden des git-Zurücksetzungsprozesses: git reset --h <commit_hash>
  5. Änderungen an Server pushen: git push --force <origin> <branch>

Nach dem Ausführen dieser Schritte wird unsere git zurückgesetzt und das gesamte git-Änderungsprotokoll ist gelöscht. Die letzten git pushen Trigger die erneute Bereitstellung, um alle Änderungen anzuwenden und Adobe Commerce neu zu installieren.

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

In diesem Abschnitt wird gezeigt, wie eine Umgebung in einem kritischen Zustand zurückgesetzt wird: Das Bereitstellungsverfahren kann keine funktionierende Anwendung erstellen, sodass die SSH nicht verfügbar ist.

In diesem Szenario müssen Sie zunächst den Betriebsstatus Ihrer Adobe Commerce-Anwendung mithilfe git Zurücksetzen wiederherstellen 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 unterscheidet sich, und es gibt einen zusätzlichen Schritt: Erzwingen der erneuten Bereitstellung. Die Schritte sind:

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

Schritt 4: Erzwingen der erneuten Bereitstellung

Führen Sie einen Commit durch (dies kann ein leerer Commit sein, obwohl wir dies nicht empfehlen) und übertragen Sie ihn auf den -Server, um den Trigger erneut bereitzustellen:

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

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

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

  1. SSH in Ihre Umgebung.
  2. Verbinden mit der MySQL-DB: mysql -h database.internal (Für Pro-Umgebungen siehe: Einrichten des MySQL-).
  3. main DB ablegen: drop database main;
  4. Leere main-DB erstellen: 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 führen Sie einen Push git die Umgebung aus, um den Trigger erneut bereitzustellen und installieren Sie Adobe Commerce in einer neu erstellten DB. Oder führen Sie den Befehl zum erneuten Bereitstellen.

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