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

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

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:

  1. Deaktivieren Sie die Konfigurationsverwaltung.
  2. Deinstallieren Sie die Adobe Commerce-Software.
  3. 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:

  1. SSH in Ihre Umgebung.

  2. 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:

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:

  1. SSH in Ihre Umgebung.

  2. setup:uninstall ausführen:

    code language-php
      php 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-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.

  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 zur Vereinfachung in umgekehrter Reihenfolge anzuzeigen:

    code language-git
      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. Commit-Hash in der Git-Konsole auswählen

  4. Anwenden des harten Git-Zurücksetzungsprozesses:

    code language-git
      git reset --h <commit_hash>
    
  5. Ä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:

  1. SSH in Ihre Umgebung.

  2. Verbindung zur MySQL-DB herstellen:

    code language-sql
    mysql -h database.internal
    
  3. main DB ablegen:

    code language-sql
    drop database main;
    
  4. Leere main-DB erstellen:

    code language-sql
    create database main;
    
  5. Löschen Sie die folgenden Konfigurationsdateien: config.php, config.php .bak, env.php und env.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:

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