CMI en Drupal 8
Exportar configuraciones entre entornos
¿Y este quien es?
Actualmente trabajo en:
Robert Menetray Caballero
¿Qué es CMI (Configuration Management Initiative)?
En D7 tenemos Features y otros módulos como Strongarm que permiten exportar las configuraciones. El problema es que es un engorro usar features para esto. (hook_update_N(), configuraciones olvidadas al reconstruir, ...)
La Iniciativa de Gestión de la Configuración es el intento de mejorar el despliegue entre entornos y de sustituir a Features en una tarea para la que no se diseñó inicialmente.
El resultado de CMI es el módulo “Configuration Manager” (esta en el core)
No es para ...
“Configuration Manager” hace que sea posible el despliegue de configuración de un entorno a otro siempre que sea el mismo sitio. El sitio se identifica con la ayuda de un identificador único universal (UUID).
Si lo que se quiere es reutilizar funcionalidades de un proyecto a otro para eso está el módulo Features
A grandes rasgos: ¿Cómo funciona?
Por defecto, las configuraciones de Drupal se almacenan en la base de datos. Sin embargo, Drupal 8 ofrece la posibilidad de exportarlas a código.
Es tan simple como:
¿Sirve para todo?
Exporta/Importa todo lo que no es contenido:
¿Cómo usarlo?
Desde drush:
Desde interfaz
Sobrescribir valores (settings.php)
Siendo el nombre del archivo: system.performance.yml
Se puede sobrescribir desde el settings.php con:
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
Configuraciones distintas entre entornos
Para evitar que se activen y se exporten configuraciones de determinados módulos:
skip-modules
$command_specific['config-export']['skip-modules'] = array('devel');
$command_specific['config-import']['skip-modules'] = array('devel');
Gestión del config_split
Módulos interesantes
Consejos
Errores conocidos
DEMO