Depuis la séparation des la configuration des services en différents dépôts, il est difficile d’effectuer des modifications qui impactent tous les services (exemple : changement du format de fichier Compose). On voudrait bien, par exemple, récupérer tous les dépôts des services d’un coup.
Lien:
Pour rappel, le groupe Gitlab avec les services est ici : https://gitlab.utc.fr/picasoft/projets/services
Git ne permet pas de faire ce genre d’opérations, puisque les groupes sont un concept de Gitlab.
On va utiliser un outil très sympa : gitlabber. gitlabber
permet aussi de tirer toutes les modifications des dépôts d’un groupe d’un seul coup.
Note:
Il existe aussi ghorg, orienté GitHub et Gitlab, mais qui effectue des opérations dangereuses au pull, comme git clean
, qui efface tous les fichiers non-tracké. Ce n’est pas le bon cas d’usage pour nous.
Installation gitlabber
:
pip install gitlabber
Créer un jeton d'accès Gitlab en lecture seule.
Lien:
Le plus rapide est de passer par ce lien : https://gitlab.utc.fr/-/profile/personal_access_tokens. Les permissions à accorder sont read_api
et read_repository
. Tu peux donner un nom parlant, comme gitlabber
, pour te souvenir.
Une fois le jeton créé, ajouter le dans tes mots de passe: il ne sera plus jamais affiché. :-p
Exemple pour cloner tout l’arbre des services :
gitlabber -t 'ton jeton' -i '/Picasoft/Technique/Services**' -u https://gitlab.utc.fr/ .
Un nouvel appel de la commande du même endroit fera un git pull
.
Attention:
Le chemin utilisé pour indiquer le groupe à cloner utilise le nom du groupe, pas son URL. L’option -p
, utilisée sans le -i
, permet d’afficher un arbre de l’ensemble des groupes auxquels tu appartiens.