Exemplo usando comandos CLI

Esse exemplo mostra como definir valores compartilhados, específicos do sistema e confidenciais no sistema de desenvolvimento e, em seguida, implantar esses valores no sistema de produção.
Isso é feito usando uma combinação de configurações compartilhadas, o arquivo config.php e o comando da CLI do Commerce.

Este exemplo usa as seguintes definições de configuração:

  • Número Vat e Nome do Repositório para as definições de configuração compartilhadas.

    Eles são encontrados em Lojas > Configurações > Configuração > Geral > Geral.

  • Enviar Emails para sobre o valor de configuração confidencial.

    Isto é encontrado em Lojas > Configurações > Configuração > Geral > Contatos.

  • Domínio de email padrão para o valor de configuração específico do sistema.

    Isso é encontrado em Lojas > Configurações > Configuração > Clientes > Configuração do Cliente > Criar Novas Opções de Conta.

Você pode usar o mesmo procedimento mostrado neste exemplo para definir qualquer configuração 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é-requisito 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 local padrão e as unidades de peso no sistema de desenvolvimento:

  1. Faça logon no Administrador.

  2. Clique em Lojas > Configurações > Configuração > Geral > Geral.

  3. Se você tiver mais de um site disponível, use a lista Exibição da Loja no canto superior esquerdo para alternar para um site diferente, como mostra a figura a seguir.

    Alternar sites

  4. No painel direito, expanda Armazenar Informações.

  5. Se necessário, desmarque a caixa de seleção Usar padrão ao lado dos campos Número VAT e Nome do Repositório.

  6. Insira um número no campo (por exemplo, 12345).

  7. No campo Nome do Repositório, insira um valor (como My Store).

  8. Clique em Salvar configuração.

  9. Na navegação à esquerda, em Geral, clique em Contatos.

  10. No painel direito, expanda Opções de email.

  11. Se necessário, desmarque a caixa de seleção Usar padrão ao lado do campo Enviar emails para.

  12. Insira um endereço de email no campo.

  13. Clique em Salvar configuração.

  14. Use a lista Exibição de Loja para selecionar a Configuração Padrão, conforme mostrado na figura a seguir.

    Alternar para a configuração padrão

  15. No painel esquerdo, clique em Clientes > Configuração do Cliente.

  16. No painel direito, expanda Criar Novas Opções de Conta.

  17. Se necessário, desmarque a caixa de seleção Usar valor do sistema ao lado do campo Domínio de email padrão.

  18. Insira um nome de domínio no campo.

  19. Clique em Salvar configuração.

  20. Se solicitado, limpe o cache.

Etapa 2: atualizar a configuração

Agora que você alterou a configuração no Admin, grave a configuração compartilhada em um arquivo usando as seguintes etapas:

Para atualizar a configuração:

  1. Faça logon no sistema de desenvolvimento como ou alterne para o proprietário do sistema de arquivos.

  2. Altere para a raiz do aplicativo e execute o comando dump.

    code language-bash
    cd <Magento root dir>
    php bin/magento app:config:dump
    

    Por 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
    
  3. Confirme se app/etc/config.php foi atualizado.

    code language-bash
    git status
    

    Exemplo 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.php
    
    note warning
    WARNING
    não enviar alterações para os diretórios generated, pub/media ou pub/static para 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.
  4. Fazer check-in das alterações em app/etc/config.php somente 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
    

Mesmo que app/etc/env.php (a configuração específica do sistema) tenha sido atualizada, não faça o check-in dela no controle de origem.
Você criará as mesmas configurações no sistema de produção posteriormente neste procedimento.

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 puxar essas alterações no sistema de compilação, compilar o código e gerar arquivos estáticos.

Para atualizar o sistema de compilação:

  1. Faça logon no sistema de compilação como proprietário do sistema de arquivos.

  2. Altere para o diretório raiz do aplicativo.

    code language-bash
    cd <Magento root dir>
    
  3. Puxe as alterações para app/etc/config.php do controle do código-fonte.

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. Código de compilação.

    code language-bash
    bin/magento setup:di:compile
    
  5. 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
    
  6. 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. Você deve fazer isso em duas partes:

  • Atualizar as configurações confidenciais e específicas do sistema
  • Atualizar as configurações compartilhadas

Atualizar as configurações confidenciais e específicas do sistema

Para definir as configurações confidenciais e específicas do sistema usando variáveis de ambiente, você deve saber o seguinte:

  • Escopo para cada configuração

    Se você seguir as instruções da Etapa 1, o escopo de Enviar Emails para será o site e o escopo de Domínio de Email Padrão será global (isto é, o escopo de Configuração Padrão).

    Você precisa do código do site para definir o valor de configuração Enviar Emails para.

    Para obter mais informações sobre como localizar este valor, consulte: Usar variáveis de ambiente para substituir as configurações.

  • Caminhos de configuração para as configurações usadas neste exemplo:

    table 0-row-2 1-row-2 2-row-2
    Nome da configuração Caminho de configuração
    Enviar Emails Para contact/email/recipient_email
    Domínio de email padrão customer/create_account/email_domain

    Para todos os caminhos de configuração sensíveis e específicos do sistema, consulte: Referência a caminhos de configuração sensíveis e específicos do sistema.

Defina as variáveis usando comandos CLI

Use os seguintes comandos da CLI para definir configurações específicas e confidenciais do sistema:

  • magento config:set para configurações específicas do sistema
  • magento config:sensitive:set para configurações confidenciais

Para definir a configuração específica do sistema Domínio de Email Padrão, que está no escopo padrão, use o seguinte comando:

bin/magento config:set customer/create_account/email_domain <email domain>

Você não precisa usar o escopo no comando porque ele é o escopo padrão.

No entanto, para definir valores para Enviar Emails para, você deve saber o tipo de escopo (website) e o código do escopo, que provavelmente é diferente em cada site.

Exemplo:

bin/magento config:sensitive:set contact/email/recipient_email --scope=website --scope-code=<website code> <email address>

Atualizar as configurações compartilhadas

Esta seção discute como transferir todas as alterações feitas nos sistemas de desenvolvimento e criação para um ambiente de produção, que atualiza as configurações compartilhadas (nome da loja e número IVA).

Para atualizar o sistema de produção:

  1. Faça logon no sistema de produção como proprietário do sistema de arquivos.

  2. 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:enable
    

    Para obter opções adicionais, como a capacidade de definir uma lista de permissões de endereço IP, consulte magento maintenance:enable.

  3. Interrompa todos os trabalhos em execução definindo de cron_run a false em app/etc/env.php da seguinte maneira:

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. Atualize a configuração.

    code language-bash
    bin/magento app:config:import
    
  5. Finalmente, kill qualquer 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
    
  6. Extrair código do controle de origem.

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. Atualize a configuração.

    code language-bash
    bin/magento app:config:import
    
  8. Limpe o cache.

    code language-bash
    bin/magento cache:clean
    
  9. Encerrar modo de manutenção.

    code language-bash
    bin/magento maintenance:disable
    

Verifique as configurações no Administrador

Para verificar as definições de configuração:

  1. Faça logon no Administrador do sistema de produção.

  2. Clique em Lojas > Configurações > Configuração > Geral > Geral.

  3. Use a lista Exibição de Loja no canto superior esquerdo para alternar para um site diferente.

    As opções de configuração compartilhada definidas no sistema de desenvolvimento são exibidas de forma semelhante a seguir.

    Verificar configurações no sistema de produção

    note info
    INFO
    O campo Nome da Loja é editável no escopo do site, mas se você alternar para o escopo de Configuração Padrão, ele não será editável. Esse é o resultado de como você define as opções no sistema de desenvolvimento. O valor de Número de IVA não é editável no escopo do site.
  4. Se ainda não tiver feito isso, alterne para o Escopo de configuração padrão.

  5. Na navegação à esquerda, em Geral, clique em Contatos.

    O campo Enviar Emails para não é editável, como mostra a figura a seguir. Essa é uma configuração delicada.

    Verificar configurações no sistema de produção

  6. No painel esquerdo, clique em Clientes > Configuração do Cliente.

  7. No painel direito, expanda Criar Novas Opções de Conta.

    O valor do campo Domínio de email padrão é exibido da seguinte maneira: Esta é uma configuração específica do sistema.

    Verificar configurações no sistema de produção

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c