Executar uma atualização
Você pode atualizar implantações locais do aplicativo Adobe Commerce a partir da linha de comando se tiver instalado o software por:
- Baixando o metapackage do Compositor usando o comando
composer create-project
. - Instalando o arquivo compactado.
- Para projetos de infraestrutura em nuvem do Adobe Commerce, consulte Atualizar versão do Commerce no Guia da Nuvem.
- Não use esse método para atualizar se você clonou o repositório GitHub. Consulte Atualizar uma instalação baseada em Git.
As instruções a seguir mostram como atualizar usando o gerenciador de pacotes do Composer. O Adobe Commerce 2.4.2 introduziu o suporte para o Composer 2. Se você estiver tentando atualizar do <2.4.1, é necessário primeiro atualizar para uma versão que seja compatível com o Composer 2 (por exemplo, 2.4.2) usando o Composer 1 antes de atualizar para o Composer 2 para atualizações >2.4.2. Além disso, você deve estar executando uma versão suportada do PHP.
magento/composer-root-update-plugin
(consulte pré-requisitos). Além disso, os comandos para atualização foram alterados de composer require magento/<package_name>
para composer require-commerce magento/<package_name>
.Antes de começar
Você deve concluir os pré-requisitos de atualização para preparar seu ambiente antes de iniciar o processo de atualização.
Gerenciar pacotes
-
Alterne para o modo de manutenção para impedir o acesso ao seu armazenamento durante o processo de atualização.
code language-bash bin/magento maintenance:enable
Consulte Habilitar ou desabilitar o modo de manutenção para obter opções adicionais. Como opção, você pode criar uma página de modo de manutenção personalizado.
-
Iniciar o processo de atualização enquanto processos assíncronos, como consumidores de fila de mensagens, estiverem em execução pode causar corrupção de dados. Para evitar a corrupção de dados, desative todos os trabalhos cron.
Adobe Commerce na infraestrutura em nuvem:
code language-bash ./vendor/bin/ece-tools cron:disable
Magento Open Source:
code language-bash bin/magento cron:remove
-
Inicie todos os consumidores da fila de mensagens manualmente para garantir que todas as mensagens sejam consumidas.
code language-bash bin/magento cron:run --group=consumers
Aguarde a conclusão do trabalho cron. Você pode monitorar o status do trabalho com um visualizador de processos ou executando o comando
ps aux | grep 'bin/magento queue'
várias vezes até que todos os processos sejam concluídos. -
Crie um backup do arquivo
composer.json
.code language-bash cp composer.json composer.json.bak
-
Adicione ou remova pacotes específicos com base nas suas necessidades.
Por exemplo, se estiver atualizando do Magento Open Source para o Adobe Commerce, remova o pacote Magento Open Source.
code language-bash composer remove magento/product-community-edition --no-update
Você também pode atualizar dados de amostra.
code language-bash composer require <sample data module-1>:<version> ... <sample data module-n>:<version> --no-update
-
Adobe Commerce:
code language-bash composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.* magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* magento/module-gift-card-sample-data:100.4.* magento/module-customer-balance-sample-data:100.4.* magento/module-target-rule-sample-data:100.4.* magento/module-gift-registry-sample-data:100.4.* magento/module-multiple-wishlist-sample-data:100.4.* --no-update
-
Magento Open Source:
code language-bash composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.* magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* --no-update
-
-
Atualize sua instância usando a seguinte sintaxe de comando
composer require-commerce
:code language-bash composer require-commerce magento/<product> <version> --no-update [--interactive-root-conflicts] [--force-root-updates] [--help]
As opções de comando incluem:
-
<product>
—(Obrigatório) O pacote a ser atualizado. Para instalações locais, esse valor deve serproduct-community-edition
ouproduct-enterprise-edition
. -
<version>
—(Obrigatório) A versão do Adobe Commerce para a qual você está atualizando. Por exemplo,2.4.3
. -
--no-update
—(Obrigatório) Desabilita a atualização automática das dependências. -
--interactive-root-conflicts
—(Opcional) Permite exibir e atualizar interativamente quaisquer valores desatualizados das versões anteriores ou quaisquer valores personalizados que não correspondam à versão para a qual você está atualizando. -
--force-root-updates
—(Opcional) Substitui todos os valores personalizados conflitantes pelos valores Commerce esperados. -
--help
—(Opcional) Fornece detalhes de uso sobre o plug-in.
Se nem
--interactive-root-conflicts
nem--force-root-updates
forem especificados, o comando manterá os valores existentes que estão em conflito e exibirá uma mensagem de aviso. Para saber mais sobre o plug-in, consulte o README de Uso do Plug-in. -
-
Atualize as dependências.
code language-bash composer update
Exemplo - listar versões disponíveis
Para ver a lista completa de versões 2.4.x disponíveis:
Magento Open Source:
composer show magento/product-community-edition 2.4.* --available | grep -m 1 versions
Adobe Commerce:
composer show magento/product-enterprise-edition 2.4.* --available | grep -m 1 versions
Exemplo - Correção de qualidade
Os patches de qualidade contêm principalmente correções de segurança e funcionais. No entanto, às vezes eles podem conter recursos novos e compatíveis com versões anteriores. Use o Composer para baixar um patch de qualidade.
Adobe Commerce:
composer require-commerce magento/product-enterprise-edition 2.4.6 --no-update
Magento Open Source:
composer require-commerce magento/product-community-edition 2.4.6 --no-update
Exemplo - Correção de segurança
Os patches de segurança contêm apenas correções de segurança. Elas foram projetadas para tornar o processo de atualização mais rápido e fácil. Os patches de segurança usam a convenção de nomenclatura do Composer 2.4.x-px
.
Adobe Commerce:
composer require-commerce magento/product-enterprise-edition 2.4.6-p3 --no-update
Magento Open Source:
composer require-commerce magento/product-community-edition 2.4.6-p3 --no-update
Atualizar metadados
-
Atualize os campos
"name"
,"version"
e"description"
no arquivocomposer.json
, conforme necessário.note note NOTE A atualização dos metadados no arquivo composer.json
é totalmente superficial, não funcional. -
Aplique atualizações.
code language-bash composer update
-
Limpar os subdiretórios
var/
egenerated/
:code language-bash rm -rf var/cache/*
code language-bash rm -rf var/page_cache/*
code language-bash rm -rf generated/code/*
note note NOTE Se você usar um armazenamento em cache diferente do sistema de arquivos, como Redis ou Memcached, você também deverá limpar manualmente o cache. -
Atualize o esquema do banco de dados e os dados.
code language-bash bin/magento setup:upgrade
-
Desabilitar modo de manutenção.
code language-bash bin/magento maintenance:disable
-
(Opcional) Reiniciar Verniz.
Se você usar o Varnish para armazenamento em cache de página, reinicie-o:
code language-bash service varnish restart
Verifique o seu trabalho
Para verificar se a atualização foi bem-sucedida, abra o URL da loja em um navegador da web. Se a atualização não tiver sido bem-sucedida, a loja não será carregada corretamente.
Se o aplicativo falhar com um erro We're sorry, an error has occurred while generating this email.
:
-
Redefina a propriedade e as permissões do sistema de arquivos como um usuário com
root
privilégios. -
Limpe os seguintes diretórios:
var/cache/
var/page_cache/
generated/code/
-
Verifique a vitrine eletrônica no navegador da web novamente.