Atualizar versão do Commerce
Você pode atualizar a base de código do Adobe Commerce para uma versão mais recente. Antes de atualizar o projeto, revise o Requisitos do sistema no Instalação guia para os requisitos de versão de software mais recentes.
Dependendo da configuração do seu projeto, suas tarefas de atualização podem incluir o seguinte:
- Serviços de atualização — como MariaDB (MySQL), OpenSearch, RabbitMQ e Redis — para compatibilidade com novas versões do Adobe Commerce.
- Converta um arquivo de gerenciamento de configuração mais antigo.
- Atualize o
.magento.app.yaml
arquivo com novas configurações para ganchos e variáveis de ambiente. - Atualize extensões de terceiros para a versão mais recente com suporte.
- Atualize o
.gitignore
arquivo.
Staging
e Production
somente ambientes..magento.app.yaml
e services.yaml
e indique a versão do PHP no ticket. Para alterações de autoatendimento na versão, extensões ou configurações do ambiente do PHP, consulte Configurações do PHP in Configuração do aplicativo.Atualizar a partir de versões anteriores
Se você estiver iniciando uma atualização de uma versão do Commerce anterior à 2.1, algumas restrições na base de código do Adobe Commerce podem afetar sua capacidade de atualizar para uma versão específica das ferramentas ECE ou para atualização para a próxima versão compatível do Commerce. Use a tabela a seguir para determinar o melhor caminho:
ece-tools
pacote, você deverá executar um atualização única ao projeto de nuvem para remover pacotes obsoletos. Se você usa atualmente a variável ece-tools
e você precisa atualizá-lo, consulte Atualize o pacote ECE-Tools.Gerenciamento de configuração
Versões anteriores do Adobe Commerce, como 2.1.4 ou posterior a 2.2.x ou posterior, usavam um config.local.php
arquivo para Gerenciamento de configuração. Adobe Commerce versão 2.2.0 e posteriores usam o config.php
arquivo, que funciona exatamente como o config.local.php
arquivo, mas ele tem definições de configuração diferentes que incluem uma lista de módulos ativados e opções de configuração adicionais.
Ao atualizar de uma versão mais antiga, você deve migrar a config.local.php
arquivo para usar o mais recente config.php
arquivo. Use as etapas a seguir para fazer backup do arquivo de configuração e criar um.
Para criar uma variável temporária config.php
arquivo:
-
Criar uma cópia de
config.local.php
arquivo e nomeie-oconfig.php
. -
Adicionar este arquivo à
app/etc
pasta do seu projeto. -
Adicione e confirme o arquivo na ramificação.
-
Envie o arquivo para a ramificação de integração.
-
Continue com o processo de atualização.
config.php
e gere um novo arquivo completo. Você só pode excluir este arquivo para substituí-lo desta vez. Depois de gerar um novo, conclua config.php
não é possível excluir o arquivo para gerar um novo. Consulte Gerenciamento de configuração e implantação de pipeline.Verificar dependências do Zend Framework Composer
Ao atualizar para o 2.3.x ou posterior a partir de 2.2.x, verifique se as dependências do Zend Framework foram adicionadas ao autoload
propriedade do composer.json
para apoiar o processo Laminas. Este plug-in suporta novos requisitos para o Zend Framework, que migrou para o projeto Laminas. Consulte Migração do Zend Framework para o Projeto Laminas no DevBlog Magento.
Para verificar a auto-load:psr-4
configuração:
-
Na estação de trabalho local, altere para o diretório do projeto.
-
Confira a ramificação de integração.
-
Abra o
composer.json
em um editor de texto. -
Verifique a
autoload:psr-4
seção para a implementação do gerenciador de plug-ins Zend para dependência de controladores.code language-json "autoload": { "psr-4": { "Magento\\Framework\\": "lib/internal/Magento/Framework/", "Magento\\Setup\\": "setup/src/Magento/Setup/", "Magento\\": "app/code/Magento/", "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/" }, }
-
Se a dependência Zend estiver ausente, atualize o
composer.json
arquivo:-
Adicione a seguinte linha à
autoload:psr-4
seção.code language-json "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"
-
Atualize as dependências do projeto.
code language-bash composer update
-
Adicionar, confirmar e enviar alterações de código.
code language-bash git add -A
code language-bash git commit -m "Add Zend plugin manager implementation for controllers dependency for Laminas support"
code language-bash git push origin <branch-name>
-
Mescle as alterações no ambiente de preparo e, em seguida, na produção.
-
Arquivos de configuração
Antes de atualizar o aplicativo, você deve atualizar os arquivos de configuração do projeto para levar em conta as alterações nas configurações padrão do Adobe Commerce na infraestrutura em nuvem ou no aplicativo. Os padrões mais recentes podem ser encontrados na repositório GitHub da magento-cloud.
.magento.app.yaml
Sempre revise os valores contidos na variável .magento.app.yaml arquivo para a versão instalada, pois controla a maneira como o aplicativo é criado e implantado na infraestrutura em nuvem. O exemplo a seguir é para a versão 2.4.7 e usa o Composer 2.7.2. A variável build: flavor:
não é usada para o Composer 2.x; consulte Instalação e uso do Composer 2.
Para atualizar o .magento.app.yaml
arquivo:
-
Na estação de trabalho local, altere para o diretório do projeto.
-
Abra e edite o
magento.app.yaml
arquivo. -
Atualize as opções do PHP.
code language-yaml type: php:8.3 build: flavor: none dependencies: php: composer/composer: '2.7.2'
-
Modifique o
hooks
propriedadebuild
edeploy
comandos.code language-yaml hooks: # We run build hooks before your application has been packaged. build: | set -e composer install php ./vendor/bin/ece-tools run scenario/build/generate.xml php ./vendor/bin/ece-tools run scenario/build/transfer.xml # We run deploy hook after your application has been deployed and started. deploy: | php ./vendor/bin/ece-tools run scenario/deploy.xml # We run post deploy hook to clean and warm the cache. Available with ECE-Tools 2002.0.10. post_deploy: | php ./vendor/bin/ece-tools run scenario/post-deploy.xml
-
Adicione as variáveis de ambiente a seguir ao final do arquivo.
Para o Adobe Commerce 2.2.x a 2.3.x-
code language-yaml variables: env: CONFIG__DEFAULT__PAYPAL_ONBOARDING__MIDDLEMAN_DOMAIN: 'payment-broker.magento.com' CONFIG__STORES__DEFAULT__PAYMENT__BRAINTREE__CHANNEL: 'Magento_Enterprise_Cloud_BT' CONFIG__STORES__DEFAULT__PAYPAL__NOTATION_CODE: 'Magento_Enterprise_Cloud'
Para o Adobe Commerce 2.4.x-
code language-yaml variables: env: CONFIG__DEFAULT__PAYPAL_ONBOARDING__MIDDLEMAN_DOMAIN: 'payment-broker.magento.com' CONFIG__STORES__DEFAULT__PAYPAL__NOTATION_CODE: 'Magento_Enterprise_Cloud'
-
Salve o arquivo. Não confirme ou envie alterações para o ambiente remoto ainda.
-
Continue com o processo de atualização.
composer.json
Antes da atualização, sempre verifique se as dependências no composer.json
são compatíveis com a versão do Adobe Commerce.
Para atualizar o composer.json
arquivo do Adobe Commerce versão 2.4.4 e posterior:
-
Adicione o seguinte
allow-plugins
para oconfig
seção:code language-json "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "laminas/laminas-dependency-plugin": true, "magento/*": true } },
-
Adicione o seguinte plug-in à
require
seção:code language-json "require": { "magento/composer-root-update-plugin": "^2.0.3" },
-
Adicione o seguinte componente à
extra:component_paths
seção:code language-json "extra": { "component_paths": { "tinymce/tinymce": "lib/web/tiny_mce_5" }, },
-
Salve o arquivo. Não confirme ou envie alterações para sua ramificação ainda.
-
Continue com o processo de atualização.
Backup do projeto
Recomendamos criar um backup do seu projeto antes de uma atualização. Use as etapas a seguir para fazer backup dos ambientes de integração, de preparo e de produção.
Para fazer backup do banco de dados e do código do ambiente de integração:
-
Crie um backup local do banco de dados remoto.
code language-bash magento-cloud db:dump
note note NOTE A variável magento-cloud db:dump
executa o mysqldump com o comando--single-transaction
sinalizador, que permite fazer backup do banco de dados sem bloquear as tabelas. -
Faça backup do código e da mídia.
code language-bash php bin/magento setup:backup --code [--media]
Opcionalmente, é possível omitir
[--media]
se você tiver um grande número de arquivos estáticos que já estão no controle de origem.
Para fazer backup do banco de dados do ambiente de preparo ou produção antes da implantação:
-
Use o SSH para fazer logon no ambiente remoto.
-
Criar um dump do banco de dados. Para escolher um diretório de destino para o dump de memória, use o
--dump-directory
opção.code language-bash vendor/bin/ece-tools db-dump
A operação de despejo cria uma
dump-<timestamp>.sql.gz
arquive o arquivo no diretório remoto do projeto. Consulte Fazer backup do banco de dados.
Atualização de aplicativo
Revise o versões do serviço informações sobre os requisitos mais recentes de versão de software antes de atualizar seu aplicativo.
Para atualizar a versão do aplicativo:
-
Na estação de trabalho local, altere para o diretório do projeto.
-
Defina a versão de atualização usando o sintaxe de restrição de versão.
code language-bash composer require "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-update
note note NOTE Você deve usar a sintaxe de restrição de versão para atualizar com êxito o ece-tools
pacote. É possível encontrar a restrição de versão nocomposer.json
arquivo para a versão do modelo de aplicativo que você está usando para a atualização. -
Atualize o projeto.
code language-bash composer update
-
Adicionar, confirmar e enviar alterações de código.
code language-bash git add -A
code language-bash git commit -m "Upgrade"
code language-bash git push origin <branch-name>
git add -A
O é necessário para adicionar todos os arquivos alterados ao controle do código-fonte devido à forma como o Composer realiza marshaling nos pacotes base. Amboscomposer install
ecomposer update
empacotar arquivos do pacote base (magento/magento2-base
emagento/magento2-ee-base
) na raiz do pacote.Os arquivos que o Composer empacota pertencem à nova versão do Adobe Commerce, para substituir a versão desatualizada desses mesmos arquivos. Atualmente, o empacotamento está desativado no Adobe Commerce, portanto, você deve adicionar os arquivos empacotados ao controle do código-fonte.
-
Aguarde a conclusão da implantação.
-
Verifique a atualização em seu ambiente de integração, preparo ou produção usando SSH para fazer logon e verificar a versão.
code language-bash php bin/magento --version
Criar um arquivo config.php
Tal como mencionado no Gerenciamento de configuração, após a atualização, você deverá criar um arquivo atualizado config.php
arquivo. Conclua todas as alterações adicionais de configuração por meio do Administrador no ambiente de integração.
Para criar um arquivo de configuração específico do sistema:
-
No terminal, use um comando SSH para gerar o
/app/etc/config.php
para o ambiente.code language-bash ssh <SSH-URL> "<Command>"
Por exemplo, para Pro, para executar o
scd-dump
nointegration
filial:code language-bash ssh <project-id-integration>@ssh.us.magentosite.cloud "php vendor/bin/ece-tools config:dump"
-
Transfira o
config.php
para suas estações de trabalho locais usandorsync
ouscp
. Você só pode adicionar este arquivo à ramificação localmente.code language-bash rsync <SSH-URL>:app/etc/config.php ./app/etc/config.php
-
Adicionar, confirmar e enviar alterações de código.
code language-bash git add app/etc/config.php && git commit -m "Add system-specific configuration" && git push origin master
Isso gera uma atualização
/app/etc/config.php
arquivo com uma lista de módulos e definições de configuração.
config.php
arquivo. Depois que esse arquivo for adicionado ao código, você deverá não excluí-lo. Se precisar remover ou editar configurações, edite o arquivo manualmente.Atualizar extensões
Revise suas páginas de extensão e módulo de terceiros no Marketplace ou outros sites da empresa e verifique o suporte para o Adobe Commerce e o Adobe Commerce na infraestrutura em nuvem. Se for necessário atualizar extensões e módulos de terceiros, a Adobe recomenda trabalhar em uma nova ramificação de integração com as extensões desativadas.
Para verificar e atualizar suas extensões:
-
Crie uma ramificação na estação de trabalho local.
-
Desative as extensões conforme necessário.
-
Quando disponível, baixar atualizações de extensão.
-
Instale a atualização conforme documentado pela documentação de terceiros.
-
Ative e teste a extensão.
-
Adicione, confirme e envie as alterações de código para o remoto.
-
Encaminhar e testar no ambiente de integração.
-
Encaminhar para o ambiente de preparo para testar em um ambiente de pré-produção.
A Adobe recomenda que você atualize seu ambiente de produção antes incluindo as extensões atualizadas no processo de inicialização do site.
Solução de problemas de atualização
Se a atualização falhar, você receberá uma mensagem de erro no navegador indicando que não é possível acessar sua loja ou o painel Administrador:
There has been an error processing your request
Exception printing is disabled by default for security reasons.
Error log record number: <error-number>
Para resolver o erro:
-
Na estação de trabalho local, altere para o diretório do projeto.
-
Use o SSH para fazer logon no ambiente remoto.
code language-bash magento-cloud ssh
-
Abra o
./app/var/report/<error number>
arquivo. -
Examinar os logs e determine a origem do problema.
-
Adicionar, confirmar e enviar alterações de código.
code language-bash git add -A && git commit -m "Fixed deployment failure" && git push origin <branch-name>