J'ai récemment rejoint sur le côté frontal d'un projet établi qui implique un nombre croissant d'instances d'une application de rails, chacun qui diffèrent par certains aspects (vues, style , paramètres etc), mais qui partagent tous la majorité de leur code de retour.
Notre repo Git a un certain nombre de branches ressemble à quelque chose comme ceci:
master
apple
banana
cherry
...
strawberry
tangerine
...
où chaque branche dérivée de fruits est contient le code de production pour une instance de production.
(Master n'est pas utilisé pour un déploiement en direct, mais contient tout le code partagé et est ce que nous avions clone à partir de mettre en place une nouvelle instance.)
Mon problème:
travail spécifique à une seule instance est assez simple, prenant place dans celui dans la branche (ou une branche de dev de celui-ci) etc etc
Cependant, si j'ai besoin d'apporter une modification qui affectera tous les sites dans le cluster Je fais ça en ce moment dans une branche de dev et je la fusionne en master, et ensuite (ce qui m'embête) y vérifie chaque branche de production à tour de rôle et y fusionne le maître.
Même mon humble cerveau de singe de code peut voir que cela ne se met pas bien à l'échelle.
Pour le moment, nous avons quelque chose comme 8 branches de production, donc ce n'est pas si mal, mais le plan est pour la croissance et au moment où cela atteindra 20 (encore moins 50+) ça va être une douleur sérieuse. Ça va aussi être ma douleur personnelle, car c'est moi qui suis susceptible de faire face à cela au jour le jour.
Donc, mes questions réelles seraient:
- Y at-il quelque chose dans la fonctionnalité git de base que je suis absent qui me permettra de fusionner avec élégance du maître dans n d'autres branches d'un seul coup? (peu probable je pense, mais vaut la peine néanmoins)
- Sinon, pourrait-il y avoir un moyen de le faire avec crafty certains scripts shell? (dont je pourrais ajouter, je sais très peu, et comprendre encore moins)
Si ce dernier de ceux-ci peut-il m'aider à démarrer/me diriger dans la bonne direction?
Merci beaucoup d'avance pour votre temps et votre aide.
Hey Jefromi, merci pour la réponse très claire et utile - le temps pour moi de me salir les mains je pense ... –
+1 pour cet article génial auquel vous avez lié! –