Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cmi en drupal 8

2,153 views

Published on

Exportar configuraciones entre entornos

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Cmi en drupal 8

  1. 1. CMI en Drupal 8 Exportar configuraciones entre entornos
  2. 2. Actualmente trabajo en: ¿Y este quien es? Robert Menetray Caballero
  3. 3. ¿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)
  4. 4. 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
  5. 5. 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.
  6. 6. ¿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
  7. 7. ¿Cómo usarlo? (interfaz) Desde interfaz Desde drush: drush config-export (drush cex) drush config-import (drush cim)
  8. 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;
  9. 9. 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”
  10. 10. skip-modules $command_specific['config-export']['skip-modules'] = array('devel'); $command_specific['config-import']['skip-modules'] = array('devel');
  11. 11. Configuration Split
  12. 12. 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)
  13. 13. 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!!
  14. 14. 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.
  15. 15. DEMO

×