Exemplo usando uma configuração compartilhada
Este exemplo mostra como alterar as seguintes configurações no sistema de desenvolvimento, atualizar o arquivo de configuração compartilhado, config.php, no sistema de compilação, e implementar as mesmas configurações no sistema de produção:
- Fuso Horário
- Unidade de peso
Estas configurações estão disponíveis no Administrador em Lojas > Configurações > Configuração > Geral > Geral.
Você pode usar o mesmo procedimento para definir configurações não confidenciais e não específicas do sistema nas seguintes referências:
Antes de começar
Antes de começar, configure as permissões e a propriedade do sistema de arquivos conforme discutido em Pré-requisitos para sistemas de desenvolvimento, compilação e produção.
Suposições
Este tópico fornece um exemplo de modificação da configuração do sistema de produção. Se desejar, você poderá escolher diferentes opções de configuração.
Para os fins deste exemplo, pressupomos o seguinte:
- Você usa o controle de origem do Git
- O sistema de desenvolvimento está disponível em um repositório remoto Git chamado
mconfig - Sua ramificação de trabalho Git é chamada
m2.2_deploy
Etapa 1: definir a configuração no sistema de desenvolvimento
Para definir o fuso horário e as unidades de peso no sistema de desenvolvimento:
-
Faça logon no Administrador.
-
Clique em Lojas > Configurações > Configuração > Geral > Geral.
-
No painel direito, expanda Opções de Local.
A figura a seguir mostra um exemplo.
-
Na lista Fuso horário, clique em GMT+00:00 (UTC).
-
Desmarque a caixa de seleção Usar valor do sistema ao lado do campo Unidade de Peso.
-
Na lista Unidade de Peso, clique em kg.
-
Clique em Salvar configuração.
-
Se solicitado, limpe o cache.
Etapa 2: atualizar a configuração compartilhada
Gere o arquivo de configuração compartilhado, app/etc/config.php, em seu sistema de desenvolvimento e transfira-o usando o controle do código-fonte para seu sistema de compilação conforme discutido nesta seção.
Para atualizar a configuração:
-
Faça logon no sistema de desenvolvimento como ou alterne para o proprietário do sistema de arquivos.
-
Altere para a raiz do aplicativo e execute o comando dump.
code language-bash cd <Magento root dir> php bin/magento app:config:dumpPor exemplo, se o Commerce estiver instalado em
/var/www/html/magento2, digite:code language-bash cd /var/www/html/magento2 php bin/magento app:config:dump -
Confirme se
app/etc/config.phpfoi atualizado.code language-bash git statusExemplo de resposta:
code language-none On branch m2.2_deploy Changed but not updated: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: app/etc/config.phpnote warning WARNING não enviar alterações para os diretórios generated,pub/mediaoupub/staticpara o controle do código-fonte. Você gera esses arquivos no sistema de build. O sistema de desenvolvimento deve ter código, temas e assim por diante que não estão prontos para uso no sistema de produção. -
Fazer check-in das alterações em
app/etc/config.phpsomente no controle do código-fonte.code language-bash git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
Etapa 3: atualizar o sistema de compilação e gerar arquivos
Agora que você confirmou as alterações na configuração compartilhada para o controle de origem, é possível obter essas alterações no sistema de compilação, compilar o código e gerar arquivos estáticos. A última etapa é transferir essas alterações para o sistema de produção. Como resultado, a configuração do seu sistema de produção corresponderá ao seu sistema de desenvolvimento.
Para atualizar o sistema de compilação:
-
Faça logon no sistema de compilação como proprietário do sistema de arquivos.
-
Altere para o diretório raiz do aplicativo.
code language-bash cd <Magento root dir> -
Puxe as alterações para
app/etc/config.phpdo controle do código-fonte.code language-bash git pull mconfig m2.2_deploy -
Código de compilação.
code language-bash bin/magento setup:di:compile -
Depois que o código tiver sido compilado, gere arquivos de visualização estáticos.
code language-bash bin/magento setup:static-content:deploy -f -
Verifique as alterações no controle de origem.
code language-bash git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
Etapa 4: atualizar o sistema de produção
A última etapa do processo é atualizar o sistema de produção do controle do código-fonte. Isso extrai todas as alterações feitas em seus sistemas de desenvolvimento e compilação, o que significa que seu sistema de produção está completamente atualizado.
Para atualizar o sistema de produção:
-
Faça logon no sistema de produção como proprietário do sistema de arquivos.
-
Altere para a raiz do aplicativo e habilite o modo de manutenção.
code language-bash cd <Magento root dir>code language-bash bin/magento maintenance:enablePara obter opções adicionais, como a capacidade de definir uma lista de permissões de endereço IP, consulte
magento maintenance:enable. -
Interrompa todos os trabalhos em execução definindo de
cron_runafalseemapp/etc/env.phpda seguinte maneira:code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ] -
Atualize a configuração.
code language-bash bin/magento app:config:import -
Finalmente,
killqualquer processo de consumidor ativo.code language-bash kill <PID>Onde
PIDé a ID do processo a ser eliminada, por exemplo:code language-bash kill 1234 -
Extrair código do controle de origem.
code language-bash git pull mconfig m2.2_deploy -
Atualize a configuração.
code language-bash bin/magento app:config:import -
Limpe o cache.
code language-bash bin/magento cache:clean -
Encerrar modo de manutenção.
code language-bash bin/magento maintenance:disable
Verifique as alterações no Admin
Para verificar se estas configurações não são editáveis no Admin:
-
Faça logon no Administrador.
-
Clique em Lojas > Configurações > Configuração > Geral > Geral.
-
No painel direito, expanda Opções de Local.
As opções que você acabou de definir são exibidas da seguinte maneira:
magento config:set --lock .