Buenas prácticas – Automatización de Git + Build – Mantener las configuraciones separadas

Buscando el mejor enfoque para mantener mis files de configuration separados, pero sin introducir pasos adicionales para que los nuevos desarrolladores configuren sus entornos.

Supongo que un submodule sería suficiente para hacer el trabajo, pero ¿cómo cambiaría las configuraciones sin problemas en function de la tarea en cuestión, es decir, aprovecharía la configuration DEV con regularidad, retiraría la twig PROD del repository de configuration durante la compilation?

Necesita ser:

  • Fácil y sin dolor para los nuevos desarrolladores.
  • Los files de configuration de PROD solo deben ser accesibles para usuarios selectos + usuarios de compilation.

Gracias de antemano.

Esto se llama controller de filter de contenido y le permite declarar, en un file .gitattributes (y solo para su tipo de file de configuration), un script de borrones que se .gitattributes al momento de .gitattributes compra :

  • combine un file de plantilla de file de configuration ( config.tpl )
  • con el valor correcto del file de configuration ( config.dev , config.prod , …)
  • para producir un file de configuration sin versión (file privado)

enter image description here

Consulte " Personalización de los attributes de Git – Git ":

 echo '*.cfg.tpl config' >> .gitattributes git config --global filter.config.smudge yourScript 

Con ese enfoque, no necesita submodules, pero puede generar tantos files de configuration que necesite dependiendo de su entorno, como por ejemplo su sucursal:
De forma parecida a " Encontrar el nombre de la twig de Git en el enlace posterior a la actualización ", su script de borrones puede averiguar en qué twig se está ejecutando actualmente:

 #!/bin/sh branch=$(git rev-parse --symbolic --abbrev-ref HEAD)