Tuvimos un drupalcamp hace unos meses y alguien preguntó sobre la administración de implementaciones con el nuevo sistema de configuración (CMI). Un posible flujo de trabajo ideal implicaría mantener la configuración en el control de versiones y aún así poder migrar la configuración entre los miembros del equipo.
Lo mejor que pudimos descubrir en la sala (parcialmente basado en la presentación en DrupalCon Portland) fue:
- Indique al control de versiones que ignore el directorio de configuración activo.
- Copie toda la configuración en el directorio provisional y comprométase con el control de versiones.
Y use settings.php para revertir el directorio activo / provisional entre los 2 entornos. Sin embargo, aunque descubrir un flujo de trabajo de implementación de un servidor al siguiente era complejo pero factible, ¿cuál es el flujo de trabajo sugerido desde múltiples entornos locales (es decir, múltiples desarrolladores) en desarrollo (o entre ellos)? Un posible problema sería que cada miembro del equipo estaría compartiendo el mismo entorno o uno similar, entonces, ¿cómo se producen los cambios en la máquina de un compañero de equipo?
fuente
Respuestas:
Después de hablar un poco con los mantenedores de CMI, la discusión sobre cuál es el mejor enfoque no ha terminado, pero lo siguiente es lo que tiene más sentido en este momento.
Intentando mantenerlo conciso por ahora, intentará expandirse según las preguntas / cuando el problema al que se hace referencia se resuelva con una respuesta oficial.
Entonces, primero, los hechos ...
Dado eso, la recomendación en este momento es poner el directorio provisional en el control de versiones. Cada desarrollador tiene control total sobre lo que pone allí, ya sea copiando todo el directorio activo o simplemente un archivo de configuración específico. Los cambios en el directorio de preparación se confirman, se envían a producción y se ejecuta la importación de la configuración (en la interfaz de usuario o con drush).
fuente
Gran respondió hasta ahora. ¡Gracias a todos!
Comenzamos un proyecto Drupal 8 recientemente e implementamos el siguiente flujo de trabajo.
Tenemos tres carpetas activas, puesta en escena y exportación. Los desarrolladores vuelcan su para exportar. No quiero mantenerlo en escena. Creo que es más fácil trabajar cuando la configuración compartida no se almacena directamente en la carpeta de ensayo. Es solo una tala, no tengo hechos concretos sobre esto ...
Nuestra plantilla de proyecto actual de drupal 8 está disponible en github. También escribí algunos comandos prácticos drush para acelerar el flujo de trabajo devleoper. No se requiere copia manual de activo a exportar.
fuente
sites/default/files/config_HASH
configuración de la carpeta que tiene un sufijo numeral, por ejemplo config_wNOLcmycPFZCrXJ9wis9dCdSR4lpYILdBsFxSWuK5HzhcrTodavía no lo he intentado, pero mi plan es crear un módulo personalizado que contenga archivos de configuración "predeterminados" que solo contengan la configuración que me interesa. Creo que otros módulos pueden contener configuraciones que anulan otros módulos. (Si no, esto debería ser posible).
Creo que debes dejar sola la carpeta de configuración. Ignoralo. Se genera automáticamente en la instalación desde todos los archivos de configuración de los módulos individuales. El camino es largo y aleatorio. Si mantuviste todo eso en un repositorio, necesitarías un repositorio separado y estarías llevando consigo toneladas de archivos de configuración innecesarios y predeterminados.
Poner config en un módulo personalizado lo convierte en parte de su base de código principal.
El proceso de implementación sería:
Puede crear módulos personalizados (con su propia configuración) para cada entorno si lo desea.
fuente
Nota: Aprecio que esta no sea una respuesta en el sentido más estricto en relación con la pregunta, pero la puse aquí de todos modos y volveré a visitarla y la editaré / eliminaré una vez que Features tenga una versión 8.x y el polvo haya se instaló un poco más. Esto era demasiado grande para un comentario y quería obtener £ 0.02 en :-)
Como gran fanático de las características , sugeriría que vigile la encarnación D8 del módulo de características .
Tomado de la página del proyecto
La forma en que un poco veo es que esta idea hace que sea más fácil para dev equipos para trabajar en partes más pequeñas de un sitio. Sin embargo, todavía no voy a entrar en un flujo de trabajo, ya que todavía hay demasiadas variables desconocidas, pero no puedo ver que sea tan diferente de un procedimiento de implementación de características actual.
No puedo evitar pensar que sí, CMI es increíble; pero la mayoría de mis sitios todavía terminarán con módulos de características (aunque una cantidad menor debido a que no tienen que exportar CADA tipo de contenido, permiso, etc.)
fuente