Ejemplo de uso de una configuración compartida
Este ejemplo muestra cómo cambiar la siguiente configuración en el sistema de desarrollo, actualizar el archivo de configuración compartida config.php
en el sistema de compilación e implementar la misma configuración en el sistema de producción:
- Zona horaria
- Unidad de peso
Esta configuración está disponible en el Administrador en Tiendas > Configuración > Configuración > General > General.
Puede utilizar el mismo procedimiento para configurar cualquier configuración no sensible y no específica del sistema en las siguientes referencias:
Antes de empezar
Antes de empezar, configure los permisos y la propiedad del sistema de archivos como se describe en Requisitos previos 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 zona horaria y las unidades de peso en el sistema de desarrollo:
-
Inicie sesión en Admin.
-
Haga clic en Tiendas > Configuración > Configuración > General > General.
-
En el panel derecho, expanda Opciones locales.
La siguiente figura muestra un ejemplo.
-
En la lista Zona horaria, haga clic en GMT+00:00 (UTC).
-
Desactive la casilla de verificación Usar valor del sistema junto al campo Unidad de peso.
-
En la lista Unidad de peso, haga clic en kgs.
-
Haga clic en Guardar configuración.
-
Si se le solicita, vacíe la caché.
Paso 2: Actualizar la configuración compartida
Genere el archivo de configuración compartida app/etc/config.php
en el sistema de desarrollo y transfiéralo mediante el control de código fuente al sistema de compilación, tal como se describe en esta sección.
Para actualizar la configuración:
-
Inicie sesión en el sistema de desarrollo como propietario del sistema de archivos o cambie a.
-
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
, escriba:code language-bash cd /var/www/html/magento2 php bin/magento app:config:dump
-
Confirme que
app/etc/config.php
se ha actualizado.code language-bash git status
Respuesta de ejemplo:
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 no envía cambios a los directorios generated
,pub/media
opub/static
al 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. -
Proteja sus cambios en
app/etc/config.php
solo para el 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
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 código y generar archivos estáticos. El último paso es extraer esos cambios en el sistema de producción. Como resultado, la configuración del sistema de producción coincidirá con el sistema de desarrollo.
Para actualizar el sistema de compilación:
-
Inicie sesión en el sistema de generación como propietario del sistema de archivos.
-
Cambie al directorio raíz de la aplicación.
code language-bash cd <Magento root dir>
-
Extraer los cambios de
app/etc/config.php
del control de código fuente.code language-bash git pull mconfig m2.2_deploy
-
Compile el código.
code language-bash bin/magento setup:di:compile
-
Una vez compilado el código, genere archivos de vista estática.
code language-bash bin/magento setup:static-content:deploy -f
-
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 desde el control de código fuente. Esto extrae todos los cambios realizados en los sistemas de desarrollo y compilación, lo que significa que el sistema de producción está completamente actualizado.
Para actualizar el sistema de producción:
-
Inicie sesión en el sistema de producción como propietario del sistema de archivos.
-
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 obtener opciones adicionales, como la posibilidad de establecer una lista blanca de direcciones IP, vea
magento maintenance:enable
. -
Detenga los trabajadores de cola en ejecución estableciendo
cron_run
enfalse
enapp/etc/env.php
de la siguiente manera:code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ]
-
Actualice la configuración.
code language-bash bin/magento app:config:import
-
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
-
Extraer código del control de código fuente.
code language-bash git pull mconfig m2.2_deploy
-
Actualice la configuración.
code language-bash bin/magento app:config:import
-
Limpie la caché.
code language-bash bin/magento cache:clean
-
Finalizar modo de mantenimiento.
code language-bash bin/magento maintenance:disable
Verifique los cambios en el Administrador
Para comprobar que esta configuración no se puede editar en el administrador:
-
Inicie sesión en Admin.
-
Haga clic en Tiendas > Configuración > Configuración > General > General.
-
En el panel derecho, expanda Opciones locales.
Las opciones que acaba de definir se muestran de la siguiente manera:
magento config:set --lock
.