9.9.2. Dividir configuración, ignorar configuración. Creación de varias configuraciones para distintas instancias.
Muy a menudo, el acceso a servicios de terceros debe ser diferente en los entornos de desarrollo (dev) y producción (live). Para lograr esto mediante configuraciones, se debe usar el módulo Configuration Split:
https://www.drupal.org/project/config_split
Después de habilitar el módulo Config Split, podrás especificar carpetas para cada entorno. Vamos a la página de configuración de Config Split en el módulo de configuración:
/admin/config/development/configuration/config-split
Ahora agreguemos configuraciones divididas para los entornos local, dev y live.
Se puede especificar la ruta a la carpeta directamente si es la misma en todos los entornos. También deberás desmarcar la opción Active; la configuración necesaria será habilitada mediante el archivo settings.php
en cada entorno por separado.
Después de agregar las configuraciones de Config Split, debemos crear las carpetas config/local
, config/dev
y config/live
:
Ahora activemos la configuración local en nuestra instancia local:
$config['config_split.config_split.local']['status'] = TRUE;
De manera similar, se deben agregar las siguientes líneas en settings.php
para los entornos dev y live:
// Dev
$config['config_split.config_split.dev']['status'] = TRUE;
// Live
$config['config_split.config_split.live']['status'] = TRUE;
Ahora, para redefinir cualquier configuración para un entorno específico, solo necesitas colocar el archivo de configuración correspondiente en la carpeta deseada. Por ejemplo, cambiaremos el nombre del sitio solo para el entorno local:
/config/local/system.site.yml:
uuid: e6754486-60a0-48ad-b2d1-84a9b46926f4
name: 'DrupalBook Lessons - Local Site'
mail: levmyshkin89@gmail.com
slogan: ''
page:
403: ''
404: ''
front: /node
admin_compact_mode: false
weight_select_max: 100
langcode: en
default_langcode: en
_core:
default_config_hash: yXadRE77Va-G6dxhd2kPYapAvbnSvTF6hO4oXiOEynI
Ahora, si vas a la página de Sincronización de Configuración, verás la configuración sobrescrita:
Ya puedes definir diferentes accesos para SMTP, Salesforce, sistemas de pago y otros servicios según el entorno.
Config Ignore
Quizás no te guste que los accesos SMTP estén en los archivos de configuración y se añadan a Git. En ese caso, puedes ignorar esos archivos usando el módulo Configuration Ignore:
https://www.drupal.org/project/config_ignore
Anteriormente usamos Config Split para establecer configuraciones diferentes del nombre del sitio. También podemos agregar system.site
a la lista de exclusiones. Vamos a la página de configuración de Config Ignore:
/admin/config/development/configuration/ignore
Y agregamos system.site
a la lista:
Ahora, si vas a la página de Sincronización de Configuración, las configuraciones ignoradas se mostrarán en una sección aparte: