Ripristino dello stato precedente dell’ambiente senza snapshot cloud

Questo articolo mostra due soluzioni per eseguire il rollback di un ambiente senza avere un’istantanea dell’ambiente su Adobe Commerce sull’infrastruttura cloud.

Prodotti e versioni interessati

Scegliere il caso più appropriato:

Scenario 1: nessuna istantanea, compilazione stabile (connessione SSH disponibile) scen2

Questa sezione mostra come eseguire il rollback di un ambiente quando non è stata creata una copia istantanea ma è possibile accedere all’ambiente tramite SSH.

I passaggi sono i seguenti:

  1. Disabilita Gestione configurazione.
  2. Disinstallare il software Adobe Commerce.
  3. Reimposta il ramo Git.

Dopo aver eseguito questi passaggi:

  • l'installazione di Adobe Commerce ritorna allo stato Vanilla (database ripristinato; configurazione di distribuzione rimossa; directory in var cancellate)
  • il ramo git è reimpostato sullo stato desiderato in passato

Leggi i passaggi dettagliati seguenti:

Passaggio 0 (prerequisito): rimuovere config.php per disabilitare Configuration Management disable_config_management

È necessario disabilitare Gestione configurazione in modo che non applichi automaticamente le impostazioni di configurazione precedenti durante la distribuzione.

Per disabilitare Gestione configurazione, assicurarsi che la directory /app/etc/ non contenga i file config.php (per Adobe Commerce 2.4.x) o config.local.php (per Adobe Commerce 2.1.x).

Per rimuovere il file di configurazione, effettuare le seguenti operazioni:

  1. SSH nell'ambiente.

  2. Rimuovi il file di configurazione:

    • Per Adobe Commerce 2.4:
    code language-php
     rm app/etc/config.php
    
    • Per Adobe Commerce 2.1:
    code language-php
      rm app/etc/config.local.php
    

Per ulteriori informazioni sulla gestione della configurazione, consulta:

Passaggio 1: disinstallare il software Adobe Commerce con il comando setup:uninstall setup-uninstall

La disinstallazione del software Adobe Commerce provoca la perdita e il ripristino del database, la rimozione della configurazione di distribuzione e la cancellazione delle directory in var.

Consulta Disinstallare il software Adobe Commerce nella documentazione per gli sviluppatori.

Per disinstallare il software Adobe Commerce, effettuare le seguenti operazioni:

  1. SSH nell'ambiente.

  2. Esegui setup:uninstall:

    code language-php
      php bin/magento setup:uninstall
    
  3. Confermare la disinstallazione.

Per confermare la disinstallazione corretta viene visualizzato il seguente messaggio:

[SUCCESS]: Magento uninstallation complete.

Questo significa che abbiamo ripristinato l’installazione di Adobe Commerce (incluso DB) al suo stato autentico (Vanilla).

Passaggio 2: reimpostare il ramo Git reset-git-branch

Con il ripristino di Git, il codice viene ripristinato allo stato desiderato nel passato.

  1. Clona l’ambiente nell’ambiente di sviluppo locale. Puoi copiare il comando nella console Cloud: copia_git_clone.png

  2. Accedi alla cronologia dei commit. Utilizza --reverse per visualizzare la cronologia in ordine inverso per maggiore comodità:

    code language-git
      git log --reverse
    
  3. Seleziona l’hash di commit su cui sei stato bravo. Per ripristinare il codice al suo stato autentico (Vanilla), individua il primo commit che ha creato il ramo (ambiente). Selezione di un hash di commit nella console Git

  4. Applica ripristino Git rigido:

    code language-git
      git reset --h <commit_hash>
    
  5. Invia modifiche al server:

    code language-git
      git push --force <origin> <branch>
    

Dopo aver eseguito questi passaggi, il ramo Git viene reimpostato e l’intero registro Git changelog è cancellato. L’ultimo push Git attiva la ridistribuzione per applicare tutte le modifiche e reinstallare Adobe Commerce.

Scenario 2: nessuna istantanea; compilazione interrotta (nessuna connessione SSH) scen3

In questa sezione viene illustrato come eseguire il rollback di un ambiente quando si trova in uno stato critico: la procedura di distribuzione non riesce a creare un’applicazione funzionante, rendendo così la connessione SSH non disponibile.

In questo scenario, devi innanzitutto ripristinare lo stato di funzionamento dell’applicazione Adobe Commerce utilizzando Git reset, quindi disinstallare il software Adobe Commerce (per eliminare e ripristinare il database, rimuovere la configurazione di distribuzione, ecc.). Lo scenario prevede gli stessi passaggi dello scenario 1, ma l’ordine dei passaggi è diverso ed è presente un ulteriore passaggio: forzare la ridistribuzione. I passaggi sono i seguenti:

1. Reimposta il ramo Git.

2. Disabilita gestione configurazione.

3. Disinstallare il software Adobe Commerce.

4. Forza ridistribuzione.

Dopo aver eseguito questi passaggi, si otterranno gli stessi risultati dello Scenario 1.

Passaggio 4: forzare la ridistribuzione

Esegui un commit (potrebbe essere vuoto, anche se non è consigliato) e invialo al server per attivarne la ridistribuzione:

git commit --allow-empty -m "<message>" && git push <origin> <branch>

Se l'installazione:disinstallazione non riesce, reimpostare il database manualmente

Se l'esecuzione del comando setup:uninstall ha esito negativo e non può essere completata, è possibile cancellare il database manualmente con la procedura seguente:

  1. SSH nell'ambiente.

  2. Connettersi al database MySQL:

    code language-sql
    mysql -h database.internal
    
  3. Rilascia il database main:

    code language-sql
    drop database main;
    
  4. Crea un database main vuoto:

    code language-sql
    create database main;
    
  5. Eliminare i seguenti file di configurazione: config.php, config.php .bak, env.php e env.php.bak.

Dopo aver reimpostato il database, invia un messaggio Git all'ambiente per attivare la ridistribuzione e installa Adobe Commerce in un database appena creato. Oppure eseguire il comando di ridistribuzione.

Lettura correlata

Nella documentazione per gli sviluppatori:

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