Zurücksetzen der Umgebung ohne Cloud-Schnappschuss
In diesem Artikel werden zwei Lösungen vorgestellt, um eine Umgebung wiederherzustellen, ohne dass eine Momentaufnahme Ihrer Umgebung in Adobe Commerce in der Cloud-Infrastruktur vorliegt.
Betroffene Produkte und Versionen
- Adobe Commerce in der Cloud-Infrastruktur, alle unterstützten Versionen
Wählen Sie die für Ihren Fall am besten geeignete Option aus:
- Wenn Sie einen stabilen Build haben, aber keinen gültigen Snapshot - Szenario 1: Kein Snapshot, Build Stable (SSH-Verbindung verfügbar).
- Wenn der Build beschädigt ist und Sie keinen gültigen Snapshot haben - Szenario 2: Kein Snapshot; Build defekt (keine SSH-Verbindung).
Szenario 1: Keine Momentaufnahme, Build-Stable (SSH-Verbindung verfügbar) scen2
In diesem Abschnitt erfahren Sie, wie Sie eine Umgebung wiederherstellen, wenn Sie keinen Schnappschuss 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 die Git-Verzweigung 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). - Ihre Git-Verzweigung wird in der Vergangenheit auf den gewünschten Status zurückgesetzt
Gehen Sie wie folgt vor:
Schritt 0 (Voraussetzung): Entfernen Sie config.php, um die Konfigurationsverwaltung zu deaktivieren disable_config_management
Wir müssen Configuration Management deaktivieren, damit die vorherigen Konfigurationseinstellungen während der Bereitstellung nicht automatisch angewendet werden.
Um die Konfigurationsverwaltung zu deaktivieren, stellen Sie sicher, dass der Ordner "/app/etc/
"nicht die Dateien "config.php
"(für Adobe Commerce 2.4.x) oder "config.local.php
"(für Adobe Commerce 2.1.x) enthält.
Gehen Sie wie folgt vor, um die Konfigurationsdatei zu entfernen:
-
Entfernen Sie die Konfigurationsdatei:
- Für Adobe Commerce 2.4:
code language-php rm app/etc/config.php
- Für Adobe Commerce 2.1:
code language-php rm app/etc/config.local.php
Weitere Informationen zur Konfigurationsverwaltung finden Sie unter:
- 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 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 Deinstallieren der Adobe Commerce-Software in unserer Entwicklerdokumentation.
Gehen Sie wie folgt vor, um die Adobe Commerce-Software zu deinstallieren:
-
Ausführen von
setup:uninstall
:code language-php php 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: Git-Verzweigung zurücksetzen reset-git-branch
Beim Zurücksetzen von Git kehren wir den Code in der Vergangenheit zum gewünschten Status zurück.
-
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 weitere Informationen in umgekehrter Reihenfolge anzuzeigen:code language-git 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.
-
Wenden Sie das Hard Git-Reset an:
code language-git git reset --h <commit_hash>
-
Push-Änderungen an Server:
code language-git git push --force <origin> <branch>
Nachdem Sie diese Schritte ausgeführt haben, wird unsere Git-Verzweigung zurückgesetzt und der gesamte Git-Änderungsprotokoll ist klar. Die letzte Git-Push-Trigger führt die erneute Bereitstellung durch, um alle Änderungen anzuwenden und Adobe Commerce neu zu installieren.
Szenario 2: Keine Momentaufnahme; Build defekt (keine SSH-Verbindung) scen3
In diesem Abschnitt wird gezeigt, wie eine Umgebung in einem kritischen Zustand zurückgesetzt wird: 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 des Git-Resets 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 1, aber die Reihenfolge der Schritte ist anders und es gibt einen zusätzlichen Schritt - "Erzwingen der erneuten Bereitstellung". Die Schritte sind:
1. Setzen Sie die Git-Verzweigung zurück.
2. Konfigurationsverwaltung deaktivieren.
3. Deinstallieren Sie die Adobe Commerce-Software.
4.Neuzuweisung erzwingen.
Nachdem Sie diese Schritte ausgeführt haben, haben Sie dieselben Ergebnisse wie in Szenario 1.
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:
-
Stellen Sie eine Verbindung zur MySQL DB her:
code language-sql mysql -h database.internal
-
Legen Sie die
main
-DB ab:code language-sql drop database main;
-
Erstellen Sie eine leere
main
DB:code language-sql create database main;
-
Löschen Sie die folgenden Konfigurationsdateien:
config.php
,config.php
.bak
,env.php
undenv.php.bak
.
Nachdem Sie die DB zurückgesetzt haben, führen einen Git-Push in die Umgebung durch, um den Trigger erneut bereitzustellen und Adobe Commerce in einer neu erstellten DB zu installieren. Oder führen Sie den Befehl zum erneuten Bereitstellen aus.
Verwandtes Lesen
In unserer Entwicklerdokumentation: