Comment faire/gérer un git multi "étages"

Comment faire/gérer un git multi "étages" - Divers - Programmation

Marsh Posté le 28-08-2023 à 14:18:38    

Salut,
 
Je me lance enfin à me faire un git (oué c'est le moment :o) avec mes scripts de prod au boulot mais était un noob complet dans ce domaine, j'ai une question.
Je gère pas mal de machines mais qui sont rattachées à des groupes différents. J'ai quelques scripts qui sont déployés partout, d'autres en fonction du type de machine ou du groupe chez qui elles tournent.
 
Comme je compte utiliser git pour que toutes mes machines récupèrent les scripts à jours une fois par semaine, je ne sais pas trop quelle est la meilleure solution pour mettre ça en place.
Voilà un exemple pour pourrait correspondre à ce que je veux.
 

Citation :


/data/git/scripts/global/
/data/git/scripts/groupe1/
/data/git/scripts/groupe1-machines-speciales/
/data/git/scripts/groupe2/
/data/git/scripts/groupe2-servers/
/data/git/scripts/groupe2-workstations/


 
dans le répertoire "global" j'ai les scripts qui doivent être déployés partout
le répertoire "groupe1" aura les scripts qui devront être poussés sur toutes les machines du groupe1 et le dossier du dessous "groupe1-machines-speciales" aura des trucs qui ne doivent aller que sur certaines machines du groupe en question, en plus des autres scripts.
 
Du coup quelle est la meilleure option dans mon cas, faire autant de repository git qu'il y a de sous dossiers dans mon répertoire script et ensuite faire des git pull pour chaque repo dont j'ai besoin sur mes machines ?
 
Merci d'avance !


---------------
Des trucs - flickr - Instagram
Reply

Marsh Posté le 28-08-2023 à 14:18:38   

Reply

Marsh Posté le 31-08-2023 à 17:35:46    

Ton dossier global et le (ou les) autres sont bien sensés arrivés sur des répertoires différents sur le poste client ?

 

Si oui tu peux faire ça : un repo par dossier, et un pull.

 

Tu peux aussi faire un seul gros repo avec tout, et ne descendre sur les postes clients que les dossiers dont tu as besoin. Mais tu auras d'autres soucis, par exemple une gestion des droits bancales où tout le monde a accès à tout, alors qu'avec un repo par groupe tu peux faire des accès en conséquence.

 

Tu pourrais t'amuser à faire des branches ou utiliser des mécanismes magiques compliqués de git mais si tu débutes c'est pas forcément idéal.

 

Tu vas certainement trouver des gens pour dire que git (ou plus généralement n'importe quel SCM) n'est pas fait pour faire de la gestion de configuration et d'environnement, etc, mais si le but est d'y stocker des scripts et de les tenir à jour ça ira très bien. Par contre évidemment pour y balancer des binaires de 1Go genre installeurs de trucs et machins, c'est moins fait pour même si ça peut fonctionner aussi.

Message cité 1 fois
Message édité par TotalRecall le 31-08-2023 à 17:36:27

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 31-08-2023 à 20:58:14    

TotalRecall a écrit :

Ton dossier global et le (ou les) autres sont bien sensés arrivés sur des répertoires différents sur le poste client ?

 

Si oui tu peux faire ça : un repo par dossier, et un pull.

 

Tu peux aussi faire un seul gros repo avec tout, et ne descendre sur les postes clients que les dossiers dont tu as besoin. Mais tu auras d'autres soucis, par exemple une gestion des droits bancales où tout le monde a accès à tout, alors qu'avec un repo par groupe tu peux faire des accès en conséquence.

 

Tu pourrais t'amuser à faire des branches ou utiliser des mécanismes magiques compliqués de git mais si tu débutes c'est pas forcément idéal.

 

Tu vas certainement trouver des gens pour dire que git (ou plus généralement n'importe quel SCM) n'est pas fait pour faire de la gestion de configuration et d'environnement, etc, mais si le but est d'y stocker des scripts et de les tenir à jour ça ira très bien. Par contre évidemment pour y balancer des binaires de 1Go genre installeurs de trucs et machins, c'est moins fait pour même si ça peut fonctionner aussi.

 

Merci ça confirme ce que je pensais ! J'ai donc fait un repo par dossier et le tout en Web avec des htpasswd pour donner les accès comme je veux. Et comme c'est pour du bête script bash et python, rien de volumineux.

 

Merci :jap:


---------------
Des trucs - flickr - Instagram
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed