app / etc / config.php en VCS o no

15

Tengo una pregunta relacionada con el archivo app/etc/config.php.

Este archivo se describe aquí y define:

Magento base dir/app/etc/config.php, que contiene la lista de módulos instalados, temas y paquetes de idiomas.

Es como app/etc/modules/*en Magento 1 (Normalmente tengo estos archivos en VCS).

Pero en Magento 2 se recomienda no compartir en VCS ( .gitignore oficial ).

Tengo alguna pregunta o uso de casos para compartir en VCS pero quiero entender porque no se recomienda agregar en VCS

  1. Ambiente de producción (con sistema de implementación Capistrano/Deployer, etc)
    • Realiza una nueva implementación ... y necesita habilitar nuevos / s módulos / s php bin/magento module:enable VendorName_NewModuleantessetup:upgrade
      • ¿Cómo manejas esta situación?
    • Realiza una nueva implementación y necesita deshabilitar (para cualquier situación) nuevo / s módulo / s php bin/magento module:disable VendorName_NewModuleantessetup:upgrade
      • ¿Cómo manejas esta situación?
  2. Ambiente local

    • Si no desea que su equipo tenga un / s módulo / s particular habilitado / deshabilitado
      • ¿Cómo manejas esta situación?
  3. Ambiente de estadificación

    • ¿Cómo puede lograr la misma configuración de módulos de producción habilitados / deshabilitados si no comparte app/etc/config.php
      • ¿Cómo manejas esta situación? Necesita hacer manualmente?

¿Cuál es su punto de vista o cómo maneja estas situaciones?

Gracias

* VCS: Sistema de control de versiones, por ejemplo: git, svn, etc.

osrecio
fuente

Respuestas:

13

No hay nada de malo en incluir config.phpen VCS si sus necesidades se basan en que la configuración sea la misma en varios entornos, especialmente los estados de activación / desactivación de sus módulos. El efecto secundario de hacer esto es la limitación que te impones a ti mismo en términos de tener los mismos temas, paquetes de idioma, etc. en cada uno también.

Para Magento 2.2, haremos algunas mejoras para agregar más flexibilidad a la administración de la configuración para admitir varios flujos de trabajo de implementación. Tendrá un archivo que debe contener toda la configuración compartida app/etc/config.php(destinado a la configuración que probablemente sea la misma en todos los entornos y se mantenga en VCS). Tendrá otro archivo que debe contener una configuración específica del sistema app/etc/env.php(que contiene una configuración que probablemente sea diferente en los sistemas de desarrollo, preparación y producción).

Mientras tanto, hemos seleccionado algunos enfoques de implementación de la comunidad que puede encontrar en esta página en caso de que sea útil.

mkotov
fuente
¿Tiene fecha oficial para lanzar 2.2 ?, sobre su comentario, ¿tiene alguna referencia en github para profundizar un poco con estas configuraciones para flujos de trabajo de implementación?
osrecio
2.2 todavía está en proceso, pero debería salir en el tercer trimestre. No estoy al tanto de cualquier cosa en GitHub para jugar ...
mkotov