Administración de configuración de tienda

Las configuraciones predeterminadas de la tienda se almacenan en un config.xml para el módulo adecuado. Al cambiar la configuración en el Administrador de comercio o en la CLI bin/magento config:set , los cambios se reflejan en la base de datos principal, específicamente en la core_config_data tabla. Estos ajustes sobrescriben las configuraciones predeterminadas almacenadas en el config.xml archivo.

Configuración de almacenamiento, que hace referencia a las configuraciones en el Administrador Tiendas > Configuración > Configuración , se almacenan en los archivos de configuración de implementación en función del tipo de configuración:

  • app/etc/config.php: configuración para tiendas, sitios web, módulos o extensiones, optimización de archivos estáticos y valores del sistema relacionados con la implementación de contenido estático. Consulte la config.php reference en el Guía de configuración.
  • app/etc/env.php: valores para las anulaciones específicas del sistema y la configuración confidencial que deben NO se almacenarán en el control de código fuente. Consulte la referencia env.php en el Guía de configuración.
NOTE
Como Adobe Commerce en la infraestructura en la nube solo admite los modos de producción y mantenimiento, la variable Avanzadas > Desarrollador No se puede acceder a la sección desde el Administrador. Debe tener privilegios de administrador del entorno para completar las tareas de administración de configuración. Puede configurar opciones adicionales mediante variables de entorno.

La administración de la configuración proporciona una forma de implementar configuraciones de tienda coherentes en todos los entornos con un tiempo de inactividad mínimo mediante la implementación de canalización. El proyecto de infraestructura de Adobe Commerce en la nube incluye el servidor de compilación, los scripts de compilación e implementación y los entornos de implementación diseñados con estrategia de implementación de canalización en mente.

Esquema de anulación de configuración

Todas las configuraciones del sistema se establecen durante las fases de generación e implementación según el siguiente esquema de invalidación:

  1. Si existe una variable de entorno, utilice la configuración personalizada e ignore la configuración predeterminada.
  2. Si no existe una variable de entorno, utilice la configuración de una MAGENTO_CLOUD_RELATIONSHIPS par nombre-valor en .magento.app.yaml archivo. Omitir la configuración predeterminada.
  3. Si una variable de entorno no existe y MAGENTO_CLOUD_RELATIONSHIPS no contiene un par nombre-valor, quite toda la configuración personalizada y utilice los valores de la configuración predeterminada.

En resumen, las variables de entorno anulan todos los demás valores.

TIP
Consulte Administración de configuración en el Guía de configuración para obtener más información sobre el esquema de anulación para la implementación de la canalización.

Si la misma configuración se configura en varios lugares, la aplicación depende de la siguiente jerarquía de configuración para determinar qué valor se aplicará al entorno

Prioridad
Configuración
Método
Descripción
1
Cloud Console
variables de entorno
Valores añadidos desde Variables pestaña de configuración del entorno en la Cloud Console. Especifique aquí los valores para las configuraciones sensibles o específicas del entorno. La configuración especificada aquí no se puede editar desde el administrador. Consulte Variables de configuración de entorno.
2
.magento.app.yaml
Valores añadidos en variables de la sección .magento.app.yaml archivo. Especifique valores aquí para garantizar una configuración coherente en todos los entornos. No especifique valores confidenciales en .magento.app.yaml archivo. Consulte Configuración de aplicación.
3
app/etc/env.php
Los valores de configuración específicos del entorno almacenados aquí se agregan mediante el uso del app:config:dump comando. Establezca los valores confidenciales y específicos del sistema utilizando variables de entorno o la CLI. Consulte Datos confidenciales. El env.php el archivo es no incluido en el control de código fuente.
4
app/etc/config.php
Los valores almacenados aquí se agregan mediante el app:config:dump comando. Los valores de configuración compartidos se añaden a config.php. Establezca la configuración compartida desde el administrador o utilizando la CLI. El config.php se incluye en el control de código fuente.
5
Base de datos
Los valores almacenados aquí se agregan estableciendo configuraciones en el Administrador. Las configuraciones configuradas con cualquiera de los métodos anteriores están bloqueadas (atenuadas) y no se pueden editar desde el administrador.
6
config.xml
Muchas configuraciones tienen valores predeterminados establecidos en config.xml para un módulo. Si Adobe Commerce no encuentra ningún valor establecido por ninguno de los métodos anteriores, vuelve al valor predeterminado, si está establecido.

Volcado de configuración

Puede utilizar lo siguiente ece-tools para generar un config.php que contiene todas las configuraciones de almacén actuales:

./vendor/bin/ece-tools config:dump

Los datos "volcados" a app/etc/config.php se convierte en archivo bloqueado, lo que significa que el campo correspondiente del Administrador de comercio se convierte en de solo lectura. El config.php incluye solo las opciones que configure. No bloquea los valores predeterminados. Bloquear solo los valores que actualice también garantiza que todas las extensiones utilizadas en los entornos de ensayo y producción no se rompan debido a configuraciones de solo lectura, especialmente Fastly.

WARNING
El ece-tools config:dump El comando no recupera configuraciones detalladas para módulos, como B2B. Si necesita un volcado de configuración completo, utilice el app:config:dump , pero este comando bloquea los valores de configuración en un estado de solo lectura.

Datos confidenciales

Todas las configuraciones confidenciales se exportan a app/etc/env.php cuando se utiliza el archivo bin/magento app:config:dump comando. Puede establecer valores confidenciales mediante el comando CLI: bin/magento config:sensitive:set. Consulte Configuración confidencial y específica del entorno en el Extensiones PHP de Commerce para obtener información sobre cómo designar los ajustes de configuración como confidenciales o específicos del sistema.

Ver una lista de Configuración confidencial o específica del sistema en el Guía de configuración.

Rendimiento de SCD

Según el tamaño del almacén, puede tener un gran número de archivos de contenido estático para implementar. Normalmente, el contenido estático se implementa durante la fase de implementación cuando la aplicación está en modo de mantenimiento. La configuración más óptima es generar contenido estático durante la fase de compilación. Consulte Elección de una estrategia de implementación.

Si ha habilitado la administración de la configuración después de volcar las configuraciones, debe mover las variables SCD_* de la fase de implementación a la fase de compilación para habilitar correctamente la generación de contenido estático durante la fase de compilación. Consulte Variables de entorno.

Antes de la administración de configuración:

  deploy:
    CRON_CONSUMERS_RUNNER:
      cron_run: true
      consumers: []
    SCD_STRATEGY: compact
    SCD_MATRIX:
      ...
    REDIS_USE_SLAVE_CONNECTION: 1

Después de habilitar la administración de configuración:

Mueva las variables SCD_* a la fase de compilación:

  deploy:
    CRON_CONSUMERS_RUNNER:
      cron_run: true
      consumers: []
    REDIS_USE_SLAVE_CONNECTION: 1
  build:
    SCD_STRATEGY: compact
    SCD_MATRIX:
      ...
NOTE
Antes de implementar archivos estáticos, las fases de compilación e implementación comprimen el contenido estático mediante GZIP. La compresión de archivos estáticos reduce las cargas del servidor y aumenta el rendimiento del sitio. Consulte opciones de compilación para obtener más información sobre cómo personalizar o deshabilitar la compresión de archivos.

Procedimiento para administrar la configuración

A continuación se ofrece una descripción general de alto nivel de este proceso:

Descripción general de la administración de configuración de inicio

Para configurar el almacén y generar un archivo de configuración:

  1. Complete todas las configuraciones de sus tiendas en Admin para uno de los entornos:

    • Starter: una rama de desarrollo activa
    • Pro: rama activa en el entorno de integración

    Estas configuraciones no incluyen los productos reales a menos que piense en descargar la base de datos de este entorno a los entornos de ensayo y producción. Normalmente, las bases de datos de desarrollo no incluyen todos los datos del almacén.

  2. En la estación de trabajo local, cambie al directorio del proyecto.

  3. Cree un volcado local de la base de datos remota.

    code language-bash
    magento-cloud db:dump
    
  4. Agregue, confirme y envíe cambios en el código para actualizar un entorno remoto.

    code language-bash
    git add app/etc/config.php
    
    code language-bash
    git commit -m "Add system-specific configuration"
    
    code language-bash
    git push origin <branch-name>
    

Una vez completada la implementación, inicie sesión en el administrador del entorno actualizado para comprobar la configuración. Continúe combinando las configuraciones adicionales en los entornos de ensayo y producción, según sea necesario.

Actualizar configuraciones

Cuando modifique el entorno mediante el Administrador y ejecute de nuevo el comando, las nuevas configuraciones se anexan al código en la variable config.php archivo.

WARNING
Mientras que puede editar manualmente la variable config.php en los entornos de Ensayo y Producción, es no recomendado. El archivo ayuda a mantener la coherencia de todas las configuraciones en todos los entornos. Nunca borre el config.php para volver a crearlo. Al eliminar el archivo, se pueden quitar configuraciones y valores específicos necesarios para los procesos de generación e implementación.

Restaurar archivos de configuración

Copias del original app/etc/env.php y app/etc/config.php Los archivos de se crearon durante el proceso de implementación y se almacenan en la misma carpeta. A continuación se muestra el BAK (archivos de copia de seguridad) y PHP (archivos originales) en el mismo app/etc carpeta:

...
config.php.bak
di.xml
env.php.bak
vendor_path.php
config.php
db_schema.xml
env.php
...

Las configuraciones más antiguas utilizaban app/etc/config.local.php archivo. Consulte Migración de configuraciones antiguas.

Para restaurar los archivos de configuración:

  1. En la estación de trabajo local, utilice SSH para iniciar sesión en el proyecto y entorno remotos.

    code language-bash
    magento-cloud ssh
    
  2. Compruebe la ubicación y disponibilidad de los archivos de copia de seguridad.

    code language-bash
    ./vendor/bin/ece-tools backup:list
    

    Respuesta de ejemplo:

    code language-terminal
    The list of backup files:
    app/etc/env.php
    app/etc/config.php
    
  3. Restaurar archivos de copia de seguridad.

    code language-bash
    ./vendor/bin/ece-tools backup:restore
    

Migración de configuraciones antiguas

Si actualiza a Adobe Commerce en la infraestructura en la nube 2.2 o posterior, es posible que desee migrar la configuración del config.local.php al nuevo config.php archivo. Si los ajustes de configuración de la administración coinciden con el contenido del archivo, siga las instrucciones para generar y agregar el config.php archivo.

Si son diferentes, puede anexar contenido desde el config.local.php al nuevo config.php archivo:

  1. Siga las instrucciones para generar el config.php archivo.

  2. Abra el config.php y elimine la última línea.

  3. Abra el config.local.php y copie el contenido.

  4. Pegue el contenido en config.php , guarde y complete agregándolo a Git.

  5. Implemente en todos sus entornos.

Solo puede completar esta migración una vez. Después de la migración, utilice el config.php archivo.

Cambiar configuraciones regionales

Puede cambiar las configuraciones regionales de la tienda sin seguir un complejo proceso de importación y exportación de la configuración, if usted tiene SCD_ON_DEMAND activado. Puede actualizar las configuraciones regionales mediante el Administrador.

Puede agregar otra configuración regional al entorno de ensayo o producción activando SCD_ON_DEMAND en una rama de integración, genere un config.php con la nueva información de configuración regional y copie el archivo de configuración en el entorno de destino.

WARNING
Este proceso sobrescribe la configuración de la tienda; solo haga lo siguiente si los entornos contienen las mismas tiendas.
  1. En el entorno de integración, habilite la SCD_ON_DEMAND usando la variable .magento.env.yaml archivo.

  2. Añada las configuraciones regionales necesarias con su administrador.

  3. Utilice SSH para iniciar sesión en el entorno remoto y generar el /app/etc/config.php archivo que contiene todas las configuraciones regionales.

    code language-bash
    ssh <SSH-URL> "./vendor/bin/ece-tools config:dump"
    
  4. Copie el nuevo archivo de configuración del entorno de integración remota al directorio de entorno local.

    code language-bash
    rsync <SSH-URL>:app/etc/config.php ./app/etc/config.php
    
  5. Agregue, confirme y envíe cambios en el código para actualizar un entorno remoto.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26