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:
- Wenn Sie die Aktivität (geplante Bereitstellung oder Aktualisierung) - Szenario 1: Geplante Aktivität) geplant haben.
- Wenn Sie einen gültigen Snapshot haben - Szenario 2: Snapshot wiederherstellen.
- Wenn Sie einen stabilen Build haben, aber keine gültige Momentaufnahme - Szenario 3: Kein Snapshot, Build Stable (SSH-Verbindung verfügbar).
- Wenn der Build beschädigt ist und Sie keinen gültigen Snapshot haben - Szenario 4: Kein Snapshot; Build defekt (keine SSH-Verbindung).
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:
Fünf Tage vor der Upgrade-/Bereitstellungsaktivität:
- Überprüfen Sie die Größe der aktuellen Datenbank.
- 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:
- 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. - Deaktivieren Sie Cron-Aufträge. Weitere Informationen zum Deaktivieren von Cron-Aufträgen finden Sie in unserem Eigenschaftsleitfaden für Crons.
- Nehmen Sie eine lokale Database Dump.
Wenn ein Rollback erforderlich ist:
- Wenn Anwendungen wie MariaDB im Rahmen dieser geplanten Aktivität aktualisiert wurden, lassen Sie diese Anwendung zuerst auf eine frühere Version neu installieren.
- Rollback die Datenbank mit der lokalen Database Dump und importieren Sie diese zurück in MariaDB.
- 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.
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:
- Deaktivieren Sie die Konfigurationsverwaltung.
- Deinstallieren Sie die Adobe Commerce-Software.
- 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:
- SSH in Ihre Umgebung.
- Entfernen Sie die Konfigurationsdatei:
rm app/etc/config.php
Weitere Informationen zur Konfigurationsverwaltung:
- Reduzieren Sie die Ausfallzeiten bei der Bereitstellung auf Adobe Commerce in der Cloud-Infrastruktur in unserer Support-Wissensdatenbank.
- Konfigurationsverwaltung für Speichereinstellungen in unserer Entwicklerdokumentation.
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:
- SSH in Ihre Umgebung.
- Ausführen von
setup:uninstall
:bin/magento setup:uninstall
- 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.
- Klonen Sie die Umgebung in Ihre lokale Entwicklungsumgebung. Sie können den Befehl in die Cloud-Konsole kopieren:
- Rufen Sie den Commits-Verlauf auf. Verwenden Sie
--reverse
, um den Verlauf für mehr Komfort in umgekehrter Reihenfolge anzuzeigen:git log --reverse
- 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.
- Anwenden von Hard git reset:
git reset --h <commit_hash>
- 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:
- Setzen Sie den Zweig git zurück.
- Deaktivieren Sie die Konfigurationsverwaltung.
- Deinstallieren Sie die Adobe Commerce-Software.
- Erzwingen Sie die erneute Bereitstellung.
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:
- SSH in Ihre Umgebung.
- Stellen Sie eine Verbindung zur MySQL DB her:
mysql -h database.internal
(Informationen zu Pro-Umgebungen finden Sie unter: MySQL-Dienst einrichten). - Legen Sie die
main
DB ab:drop database main;
- Erstellen Sie eine leere
main
DB:create database main;
- 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.