Ejemplo con comandos CLI

Este ejemplo muestra cómo establecer valores compartidos, específicos del sistema y confidenciales en el sistema de desarrollo y, a continuación, implementar esos valores en el sistema de producción.
Esto se realiza mediante una combinación de configuraciones compartidas, las config.php y el comando CLI de Commerce.

Este ejemplo utiliza las opciones de configuración siguientes:

  • Número de iva y Nombre del almacén para los ajustes de configuración compartidos.

    Se encuentran en Tiendas > Configuración > Configuración > General > General.

  • Envío de correos electrónicos a para el valor de configuración confidencial.

    Esto se encuentra en Tiendas > Configuración > Configuración > General > Contactos.

  • Dominio de correo electrónico predeterminado para el valor de configuración específico del sistema.

    Esto se encuentra en Tiendas > Configuración > Configuración > Clientes > Configuración del cliente > Crear nuevas opciones de cuenta.

Puede utilizar el mismo procedimiento mostrado en este ejemplo para configurar cualquier configuración en las siguientes referencias:

Antes de empezar

Antes de empezar, configure los permisos y la propiedad del sistema de archivos como se describe en Requisito previo para los sistemas de desarrollo, compilación y producción.

Suposiciones

En este tema se proporciona un ejemplo de cómo modificar la configuración del sistema de producción. Si lo desea, puede elegir diferentes opciones de configuración.

Para los fines de este ejemplo, suponemos lo siguiente:

  • Utilice el control de código fuente Git
  • El sistema de desarrollo está disponible en un repositorio remoto Git denominado mconfig
  • Su rama de trabajo de Git se llama m2.2_deploy

Paso 1: Establezca la configuración en el sistema de desarrollo

Para establecer la configuración regional y las unidades de peso predeterminadas en el sistema de desarrollo:

  1. Inicie sesión en Admin.

  2. Clic Tiendas > Configuración > Configuración > General > General.

  3. Si tiene más de un sitio web disponible, utilice el Vista de tienda en la esquina superior izquierda para cambiar a un sitio web diferente, como se muestra en la siguiente ilustración.

    Cambiar sitios web

  4. En el panel derecho, expanda Información de tienda.

  5. Si es necesario, borre la Usar valor predeterminado junto a la casilla de verificación Número de IVA y Nombre del almacén campos.

  6. Introduzca un número en el campo (por ejemplo, 12345).

  7. En el Nombre del almacén , introduzca un valor (como My Store).

  8. Clic Guardar configuración.

  9. En el panel de navegación izquierdo, en General, haga clic en Contactos.

  10. En el panel derecho, expanda Opciones de correo electrónico.

  11. Si es necesario, borre la Usar valor predeterminado junto a la casilla de verificación Envío de correos electrónicos a field.

  12. Introduzca una dirección de correo electrónico en el campo.

  13. Clic Guardar configuración.

  14. Utilice el Vista de tienda para seleccionar el Configuración predeterminada como se muestra en la siguiente figura.

    Cambiar a la configuración predeterminada

  15. En el panel izquierdo, haga clic en Clientes > Configuración del cliente.

  16. En el panel derecho, expanda Crear nuevas opciones de cuenta.

  17. Si es necesario, borre la Usar valor del sistema junto a la casilla de verificación Dominio de correo electrónico predeterminado field.

  18. Introduzca un nombre de dominio en el campo.

  19. Clic Guardar configuración.

  20. Si se le solicita, vacíe la caché.

Paso 2: Actualizar la configuración

Ahora que ha cambiado la configuración en el Administrador, escriba la configuración compartida en un archivo como siguiendo los pasos siguientes:

Para actualizar la configuración:

  1. Inicie sesión en el sistema de desarrollo como propietario del sistema de archivos o cambie a.

  2. Cambie a la raíz de la aplicación y ejecute el comando dump.

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

    Por ejemplo, si Commerce está instalado en /var/www/html/magento2, introduzca:

    code language-bash
    cd /var/www/html/magento2
    php bin/magento app:config:dump
    
  3. Confirme que app/etc/config.php se ha actualizado.

    code language-bash
    git status
    

    Respuesta de ejemplo:

    code language-terminal
    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
    Hacer no enviar cambios al generated, pub/media, o pub/static directorios para el control de código fuente. Estos archivos se generan en el sistema de compilación. Es probable que el sistema de desarrollo tenga código, temas, etc., que no estén listos para usarlos en el sistema de producción.
  4. Proteja sus cambios en app/etc/config.php sólo al control de código fuente.

    code language-bash
    git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
    

Aunque app/etc/env.php (la configuración específica del sistema), no la proteja en el control de código fuente.
Creará las mismas opciones de configuración en el sistema de producción más adelante en este procedimiento.

Paso 3: Actualizar el sistema de compilación y generar archivos

Ahora que ha confirmado los cambios en la configuración compartida en el control de código fuente, puede extraer esos cambios en el sistema de generación, compilar el código y generar archivos estáticos.

Para actualizar el sistema de generación:

  1. Inicie sesión en el sistema de generación como propietario del sistema de archivos.

  2. Cambie al directorio raíz de la aplicación.

    code language-bash
    cd <Magento root dir>
    
  3. Extraer los cambios a app/etc/config.php desde el control de código fuente.

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. Compile el código.

    code language-bash
    bin/magento setup:di:compile
    
  5. Una vez compilado el código, genere archivos de vista estática.

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. Comprobar los cambios en el control de código fuente.

    code language-bash
    git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
    

Paso 4: Actualizar el sistema de producción

El último paso del proceso es actualizar el sistema de producción. Debe hacerlo en dos partes:

  • Actualice la configuración confidencial y específica del sistema
  • Actualizar la configuración compartida

Actualice la configuración confidencial y específica del sistema

Para establecer la configuración confidencial y específica del sistema mediante variables de entorno, debe saber lo siguiente:

  • Ámbito de cada configuración

    Si ha seguido las instrucciones del paso 1, el ámbito de Envío de correos electrónicos a es un sitio web y el ámbito para Dominio de correo electrónico predeterminado es global (es decir, el ámbito de configuración predeterminado).

    Necesita el código del sitio web para establecer la variable Envío de correos electrónicos a valor de configuración.

    Para obtener más información sobre cómo encontrar este valor, consulte: Utilice variables de entorno para anular los ajustes de configuración.

  • Rutas de configuración para las opciones utilizadas en este ejemplo:

    table 0-row-2 1-row-2 2-row-2
    Nombre de configuración Ruta de configuración
    Envío de correos electrónicos a contact/email/recipient_email
    Dominio de correo electrónico predeterminado customer/create_account/email_domain

    Para todas las rutas de configuración confidenciales y específicas del sistema, consulte: Referencia de rutas de configuración confidenciales y específicas del sistema.

Establecer las variables mediante comandos CLI

Utilice los siguientes comandos de CLI para establecer las opciones de configuración específicas del sistema y confidenciales:

  • magento config:set para la configuración específica del sistema
  • magento config:sensitive:set para configuración confidencial

Para establecer la configuración específica del sistema Dominio de correo electrónico predeterminado, que se encuentra en el ámbito predeterminado, utilice el siguiente comando:

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

No es necesario utilizar el ámbito en el comando porque es el ámbito predeterminado.

Para establecer los valores de Envío de correos electrónicos a, sin embargo, debe conocer el tipo de ámbito (website) y el código de ámbito, que es probablemente diferente en cada sitio.

Ejemplo:

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

Actualizar la configuración compartida

En esta sección se explica cómo extraer todos los cambios realizados en los sistemas de desarrollo y compilación en un entorno de producción, lo que actualiza la configuración compartida (nombre del almacén y número de IVA).

Para actualizar el sistema de producción:

  1. Inicie sesión en el sistema de producción como propietario del sistema de archivos.

  2. Cambie a la raíz de la aplicación y habilite el modo de mantenimiento.

    code language-bash
    cd <Magento root dir>
    
    code language-bash
    bin/magento maintenance:enable
    

    Para ver opciones adicionales, como la posibilidad de establecer una lista blanca de direcciones IP, consulte magento maintenance:enable.

  3. Detenga los trabajadores de cola en ejecución mediante la configuración cron_run hasta false in app/etc/env.php como sigue:

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. Actualice la configuración.

    code language-bash
    bin/magento app:config:import
    
  5. Finalmente, kill cualquier proceso de consumidor activo.

    code language-bash
    kill <PID>
    

    Donde PID es el ID de proceso que se va a eliminar, por ejemplo:

    code language-bash
    kill 1234
    
  6. Extraer código del control de código fuente.

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. Actualice la configuración.

    code language-bash
    bin/magento app:config:import
    
  8. Limpie la caché.

    code language-bash
    bin/magento cache:clean
    
  9. Finalizar modo de mantenimiento.

    code language-bash
    bin/magento maintenance:disable
    

Compruebe los ajustes de configuración en el Administrador

Para comprobar las opciones de configuración:

  1. Inicie sesión en el administrador del sistema de producción.

  2. Clic Tiendas > Configuración > Configuración > General > General.

  3. Utilice el Vista de tienda en la esquina superior izquierda para cambiar a un sitio web diferente.

    Las opciones de configuración compartida establecidas en el sistema de desarrollo se muestran de forma similar a la siguiente.

    Compruebe la configuración en el sistema de producción

    note info
    INFO
    El Nombre del almacén El campo es editable en el ámbito del sitio web, pero si cambia al ámbito de configuración predeterminado, no es editable. Este es el resultado de cómo se establecen las opciones en el sistema de desarrollo. El valor de Número de IVA no se puede editar en el ámbito del sitio web.
  4. Si aún no lo ha hecho, cambie al ámbito de configuración predeterminada.

  5. En el panel de navegación izquierdo, en General, haga clic en Contactos.

    El Envío de correos electrónicos a El campo no se puede editar, como se muestra en la figura siguiente. Esta es una configuración confidencial.

    Compruebe la configuración en el sistema de producción

  6. En el panel izquierdo, haga clic en Clientes > Configuración del cliente.

  7. En el panel derecho, expanda Crear nuevas opciones de cuenta.

    El valor del Dominio de correo electrónico predeterminado El campo se muestra de la siguiente manera. Esta es una configuración específica del sistema.

    Compruebe la configuración en el sistema de producción

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