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

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

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:

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

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

  1. SSH in Ihre Umgebung.

  2. Ausführen von setup:uninstall:

    code language-php
      php bin/magento setup:uninstall
    
  3. 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.

  1. Klonen Sie die Umgebung in Ihre lokale Entwicklungsumgebung. Sie können den Befehl in die Cloud-Konsole kopieren: copy_git_clone.png

  2. 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
    
  3. 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. Auswählen eines Commit-Hashs in der Git-Konsole

  4. Wenden Sie das Hard Git-Reset an:

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

  1. SSH in Ihre Umgebung.

  2. Stellen Sie eine Verbindung zur MySQL DB her:

    code language-sql
    mysql -h database.internal
    
  3. Legen Sie die main-DB ab:

    code language-sql
    drop database main;
    
  4. Erstellen Sie eine leere main DB:

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

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