Cmi en drupal 8

17
CMI en Drupal 8 Exportar configuraciones entre entornos

Transcript of Cmi en drupal 8

Page 1: Cmi en drupal 8

CMI en Drupal 8Exportar configuraciones entre entornos

Page 2: Cmi en drupal 8

Actualmente trabajo en:

¿Y este quien es?

Robert Menetray Caballero

Page 3: Cmi en drupal 8

¿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)

Page 4: Cmi en drupal 8

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

Page 5: Cmi en drupal 8

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:

Exportar la configuración de la base de datos a archivos.

Subir los archivos al entorno donde se han de aplicar.

Importar a la base de datos la nueva config.

Page 6: Cmi en drupal 8

¿Sirve para todo?

Exporta/Importa todo lo que no es contenido:

config de módulos y temas (los activa/desinstala automáticamente)

colocación de los bloques (sin su contenido)

menús de navegación (sin items de menú)

config de los tipos de contenido y vocabularios de taxonomías

listados de Views

roles, permisos, etc

Page 7: Cmi en drupal 8

¿Cómo usarlo? (interfaz)

Desde interfaz

Desde drush:drush config-export (drush cex)

drush config-import (drush cim)

Page 8: Cmi en drupal 8
Page 9: Cmi en drupal 8
Page 10: Cmi en drupal 8

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;

Page 11: Cmi en drupal 8

Configuraciones distintas entre entornos

Para evitar que se activen y exporten configuraciones de determinados módulos:

Con el filtro “skip-modules” del Drush

Con el módulo “Configuration Split”

Page 12: Cmi en drupal 8

skip-modules

$command_specific['config-export']['skip-modules'] = array('devel');

$command_specific['config-import']['skip-modules'] = array('devel');

Page 13: Cmi en drupal 8

Configuration Split

Page 14: Cmi en drupal 8

Módulos interesantes

Configuration development (https://www.drupal.org/project/config_devel)

Configuration Update Manager (https://www.drupal.org/project/config_update)

Configuration Split (https://www.drupal.org/project/config_split)

Configuration Read-only mode (https://www.drupal.org/project/config_readonly)

Page 15: Cmi en drupal 8

Consejos

Siempre exportar antes de ejecutar git pull. Sino se pierden configuraciones que haya hecho otra persona.

Antes de importar se han de revisar las configuraciones que se sobreescribiran. Por si alguien toca la configuración sin que te hayas dado cuenta.

Drush te facilita la vida. Usalo!!

Page 16: Cmi en drupal 8

Errores conocidos

Los bloques se rompen

Algunas veces no se importa todo a la primera

Cuidado al eliminar cosas que tengan dependencias. A veces recrean cosas y pueden eliminar contenidos.

Page 17: Cmi en drupal 8

DEMO