Redefinir o ambiente no Adobe Commerce na infraestrutura em nuvem
Este artigo mostra diferentes cenários de reversão de um ambiente no Adobe Commerce na infraestrutura em nuvem.
Escolha o mais apropriado para seu caso:
- Se você tiver uma atividade planejada (implantação ou atualização planejada) - Cenário 1: atividade planejada).
- Se você tiver um instantâneo válido - Cenário 2: restaurar um instantâneo.
- Se você tiver uma compilação estável, mas nenhum instantâneo válido - Cenário 3: nenhum instantâneo, compilação estável (conexão SSH disponível).
- Se a compilação for interrompida e você não tiver um instantâneo válido - Cenário 4: nenhum instantâneo; compilação interrompida (sem conexão SSH).
Cenário 1: atividade planejada
Com uma implantação ou atualização planejada, o Rollback mais fácil e recomendado seria para o comerciante, como parte de suas preparações, fazer o seguinte:
Cinco dias antes das atividades de atualização/implantação:
- Verifique o tamanho do Banco de Dados atual.
- Verifique se há espaço em disco suficiente em
/data/exports
para conter um Database Dump. Se não houver espaço em disco suficiente, remova os dados indesejados ou crie um caso de suporte e solicite a expansão do disco.
No dia das alterações:
- Colocar o site em Maintenance Mode.
Leia mais sobre Habilitar ou desabilitar Maintenance Mode em nosso guia do usuário e Maintenance Mode opções de atualização em nosso guia de atualização. - Desabilitar trabalhos cron. Leia mais sobre como desabilitar trabalhos cron em nosso guia de propriedades de cron.
- Pegue um Database Dump local.
Se Rollback for necessário:
- Se aplicativos como o MariaDB tiverem sido atualizados como parte dessa atividade planejada, primeiro instale esse aplicativo em uma versão anterior.
- Rollback o Banco de Dados usando o Database Dump local e importe-o de volta para MariaDB.
- Rollback o código via Git para uma versão anterior em funcionamento.
O uso de Snapshots não é a maneira recomendada para a atividade de atualização/planejada rollbacks/restores, pois demora muito mais para recuperar os dados do que um Database Dump local, conforme descrito acima na Etapa 2 da seção Se um Rollback for necessário.
Snapshots não são mantidos no nó/servidor, são mantidos em um bloco de armazenamento separado e, como esses dados devem ser transmitidos do armazenamento em bloco pela rede para um novo disco, leva tempo no processo. Esse novo disco é então montado no nó pronto para recuperação/importação no disco original conectado ao nó/servidor.
Quando você compara isso com a importação de um Database Dump local, os dados já podem ser recuperados no nó/servidor, portanto, economiza-se muito tempo, pois é necessário apenas um Database Import.
Cenário 2: restaurar um instantâneo
Leia: Restaurar um instantâneo do Adobe Commerce na infraestrutura de nuvem na documentação do desenvolvedor.
Leia: Crie um instantâneo em nossa documentação de desenvolvedor.
Cenário 3: nenhum instantâneo, build estável (conexão SSH disponível)
Esta seção mostra como redefinir um ambiente quando você não tiver criado um instantâneo, mas puder acessar o ambiente via SSH.
As etapas são:
- Desative o gerenciamento de configurações.
- Desinstale o software Adobe Commerce.
- Reinicializa a ramificação git.
Depois de executar essas etapas:
- Sua instalação do Adobe Commerce retorna ao estado Vanilla (banco de dados restaurado; configuração de implantação removida; diretórios em
var
limpos). - Sua ramificação git foi redefinida para o estado desejado no passado.
Leia as etapas detalhadas abaixo.
Etapa 0 (Pré-requisito): Remova o config.php para desativar o Gerenciamento de Configuração
Precisamos desabilitar o Gerenciamento de Configurações para que ele não aplique automaticamente as definições de configuração anteriores durante a implantação.
Para desabilitar o Gerenciamento de Configurações, verifique se o diretório /app/etc/
não contém o arquivo config.php
.
Para remover o arquivo de configuração, siga estas etapas:
- SSH para o seu ambiente.
- Remover o arquivo de configuração:
rm app/etc/config.php
Leia mais sobre o Gerenciamento de configuração:
- Reduza o tempo de inatividade da implantação do Adobe Commerce na infraestrutura em nuvem em nossa base de dados de conhecimento de suporte.
- Gerenciamento de configurações para configurações de armazenamento em nossa documentação de desenvolvedor.
Etapa 1: Desinstale o software Adobe Commerce com o comando setup:uninstall
A desinstalação do software Adobe Commerce remove e restaura o banco de dados, remove a configuração de implantação e limpa diretórios em var
.
Leia: Desinstale o software Adobe Commerce na documentação do desenvolvedor.
Para desinstalar o software Adobe Commerce, siga estas etapas:
- SSH para o seu ambiente.
- Executar
setup:uninstall
:bin/magento setup:uninstall
- Confirme a desinstalação.
A seguinte mensagem é exibida para confirmar uma desinstalação bem-sucedida:
[SUCCESS]: Magento uninstallation complete.
Isso significa que revertemos nossa instalação do Adobe Commerce (incluindo o DB) para seu estado autêntico (Vanilla).
Etapa 2: redefinir a ramificação git
Com a redefinição git, revertemos o código para o estado desejado no passado.
- Clonar o ambiente no ambiente de desenvolvimento local. Você pode copiar o comando no Cloud Console:
- Acesse o histórico de confirmações. Use
--reverse
para exibir o histórico na ordem inversa para maior conveniência:git log --reverse
- Selecione o hash de confirmação no qual você esteve em boas condições. Para redefinir o código para seu estado autêntico (Vanilla), localize a primeira confirmação que criou sua ramificação (ambiente).
- Aplicar restauração de git rígida:
git reset --h <commit_hash>
- Enviar alterações para o servidor:
git push --force <origin> <branch>
Depois de executar essas etapas, nossa ramificação git é redefinida e todo o log de alterações git é limpo. O último push git aciona a reimplantação para aplicar todas as alterações e reinstalar o Adobe Commerce.
Cenário 4: nenhum instantâneo; compilação interrompida (sem conexão SSH)
Esta seção mostra como redefinir um ambiente quando ele está em um estado crítico: o procedimento de implantação não pode ter êxito na criação de um aplicativo em funcionamento, tornando a conexão SSH indisponível.
Neste cenário, primeiro você deve restaurar o estado de trabalho do aplicativo do Adobe Commerce usando a redefinição do git e depois desinstalar o software do Adobe Commerce (para descartar e restaurar o banco de dados, remover a configuração da implantação etc.). O cenário envolve as mesmas etapas do Cenário 3, mas a ordem das etapas é diferente e há uma etapa adicional - forçar reimplantação. As etapas são:
Depois de executar essas etapas, você terá os mesmos resultados do Cenário 3.
Etapa 4: Forçar reimplantação
Faça uma confirmação (pode ser uma confirmação vazia, embora não recomendemos) e envie-a para o servidor para acionar a reimplantação:
git commit --allow-empty -m "<message>" && git push <origin> <branch>
Se a configuração:desinstalação falhar, redefina o banco de dados manualmente
Se a execução do comando setup:uninstall
falhar com um erro e não puder ser concluída, poderemos limpar o banco de dados manualmente com estas etapas:
- SSH para o seu ambiente.
- Conecte-se ao banco de dados MySQL:
mysql -h database.internal
(Para ambientes Pro, consulte: Configurar serviço MySQL). - Remover o BD
main
:drop database main;
- Criar um BD
main
vazio:create database main;
- Exclua os seguintes arquivos de configuração:
config.php
,config.php.bak
,env.php
,env.php.bak
Depois de redefinir o BD, faça um push git no ambiente para acionar a reimplantação e instale o Adobe Commerce em um BD recém-criado. Ou execute o comando de reimplantação.