2017-05-08 1 views
-4

Je développe une application symfony 3 pour gérer des sites web pour des agences de concerts/réservations. Maintenant, je me demande quelle serait la meilleure pratique pour configurer Git quand je continue à développer l'application pendant que je cours plusieurs sites Web pour différents clients? Les fichiers personnalisés qui diffèrent d'un projet à l'autre se trouvent à différents endroits et niveaux dans la structure donnée par Symfony. Dans le diagramme ci-dessous, ils sont marqués en orange:Symfony & Git: Meilleure pratique pour plusieurs sites Web

Symfony Project with custom files

Alors, quelle serait la meilleure façon de gérer cela avec Git? Dois-je travailler avec un repo pour le core (à l'exclusion des fichiers/dossiers personnalisés) et un repo supplémentaire pour chaque client qui utilise le repo de base comme sous-module? Pour le flux de travail, la conception idéale serait, quand je serais en mesure de travailler avec le client repo et de modifier la base de base afin que les nouvelles fonctionnalités de base seraient automatiquement appliquées aux autres sites clients.

Répondre

0

La solution qui a fonctionné pour moi était de déplacer les vues personnalisées situées à l'origine dans le FrontBundle à app/Resources et de modifier les références dans les contrôleurs. De cette façon, il est possible de versionner le noyau dans son propre repo (marqué en vert) et de l'inclure comme sous-module dans les repos de chaque projet client.

New structure including submodule

Même si cette solution fonctionne pour le moment je suis curieux machin votre approche pour gérer ces problèmes.