Rollback der Umgebung ohne Cloud-Snapshot
Dieser Artikel zeigt zwei Lösungen zum Zurücksetzen einer Umgebung, ohne dass eine Momentaufnahme Ihrer Umgebung in Adobe Commerce in der Cloud-Infrastruktur vorhanden ist.
Betroffene Produkte und Versionen
- Adobe Commerce auf Cloud-Infrastruktur, alle unterstützten Versionen
Wählen Sie das für Ihren Fall am besten geeignete aus:
- Wenn Sie einen stabilen Build, aber keinen gültigen Snapshot haben - ( 1: Kein Snapshot, Build stabil (SSH-Verbindung verfügbar).
- Wenn der Build beschädigt ist und Sie keinen gültigen Snapshot haben - Szenario 2: Kein Snapshot; Build beschädigt (keine SSH-Verbindung).
Szenario 1: Kein Snapshot, Build stabil (SSH-Verbindung verfügbar) scen2
In diesem Abschnitt wird gezeigt, wie eine Umgebung zurückgesetzt werden kann, wenn Sie keinen Snapshot erstellt haben, aber über SSH auf die Umgebung zugreifen können.
Die Schritte sind:
- Deaktivieren Sie die Konfigurationsverwaltung.
- Deinstallieren Sie die Adobe Commerce-Software.
- Zurücksetzen der Git-Verzweigung.
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) - Die Git-Verzweigung wurde in der Vergangenheit auf den gewünschten Status zurückgesetzt
Lesen Sie die folgenden detaillierten Schritte:
Schritt 0 (Voraussetzung): Entfernen Sie config.php, um die Konfigurationsverwaltung zu deaktivieren disable_config_management
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 Ihr /app/etc/
-Verzeichnis nicht die 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:
- Verkürzen Sie Bereitstellungsausfälle auf Adobe Commerce auf CloudInfrastrukturen in unserer Support-Wissensdatenbank.
- Konfigurationsverwaltung für Store-Einstellungen in unserer Entwicklerdokumentation.
Schritt 1: Deinstallieren Sie die Adobe Commerce-Software mit dem Befehl setup:uninstall 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:
-
setup:uninstall
ausführen:code language-php php bin/magento setup:uninstall
-
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-Verzweigung zurücksetzen reset-git-branch
Beim Zurücksetzen von Git stellen wir den Code in den gewünschten Status in der Vergangenheit zurück.
-
Klonen Sie die Umgebung in Ihre lokale Entwicklungsumgebung. Sie können den Befehl in die Cloud-Konsole kopieren:
-
Zugriff auf den Commit-Verlauf.
--reverse
verwenden, um den Verlauf zur Vereinfachung 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 in seinen authentischen Zustand (Vanilla) zurückzusetzen, suchen Sie den ersten Commit, mit dem Ihre Verzweigung (Umgebung) erstellt wurde.
-
Anwenden des harten Git-Zurücksetzungsprozesses:
code language-git git reset --h <commit_hash>
-
Änderungen an Server pushen:
code language-git git push --force <origin> <branch>
Nach dem Ausführen dieser Schritte wird unsere Git-Verzweigung zurückgesetzt und das gesamte Git-Änderungsprotokoll ist gelöscht. Die letzten Git-Push-Trigger stellen Adobe Commerce erneut bereit, um alle Änderungen anzuwenden und neu zu installieren.
Szenario 2: Kein Snapshot; Build beschädigt (keine SSH-Verbindung) scen3
In diesem Abschnitt wird gezeigt, wie eine Umgebung in einem kritischen Zustand zurückgesetzt werden kann: Das Bereitstellungsverfahren kann keine funktionierende Anwendung erstellen, wodurch die SSH-Verbindung nicht verfügbar wird.
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 unterscheidet sich, und es gibt einen zusätzlichen Schritt: Erzwingen der erneuten Bereitstellung. Die Schritte sind:
1. Setzen Sie die Git-Verzweigung zurück.
2. Deaktivieren Sie die Konfigurationsverwaltung.
3. Deinstallieren Sie die Adobe Commerce-Software.
4&Zeitraum; Erzwingen der erneuten Bereitstellung.
Nachdem Sie diese Schritte ausgeführt haben, erhalten Sie dieselben Ergebnisse wie in Szenario 1.
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:
-
Verbindung zur MySQL-DB herstellen:
code language-sql mysql -h database.internal
-
main
DB ablegen:code language-sql drop database main;
-
Leere
main
-DB erstellen:code language-sql create database main;
-
Löschen Sie die folgenden Konfigurationsdateien:
config.php
,config.php
.bak
,env.php
undenv.php.bak
.
Nach dem Zurücksetzen der DB Sie „einen Git-Push an die Umgebung durchführen, um den Trigger erneut bereitzustellen und Adobe Commerce in einer neu erstellten DB zu installieren. Oder führen Sie den Befehl zum erneuten Bereitstellen.
Verwandtes Lesen
In unserer Entwicklerdokumentation: