Objets GitLab

1. Groupes

Sur GitLab les projets peuvent êtres répartis par groupes, ces derniers vont agir comme des dossiers conteneurs de dépôts, on peut également placer des sous-groupes qui contiendront eux aussi des dépôts.

1.1. Interface

On peut accéder à la liste des groupes en cliquant sur le bouton Groups présent dans la barre suppérieure. On y distingue Your groups pour retourner les groupes sur lesquels l’utilisateur contribue et Explore groups pour visualiser les groupes de l’utilisateur plus les groupes publics.

../../_images/groups.jpggroups

1.2. Droits

On peut dans un groupe gérer les droits des utilisateurs, alors ces droits seront appliqués sur tous les projets contenus.

Une fois dans le dépôt on distinguera les droits donnés au travers du groupe symbolisés par un lien de ceux donnés par le dépôt où on retrouvera une liste déroulante.

Vous trouverez plus de détails sur les différents droits dans la section correspondante de ce document.

../../_images/droits.jpgdroits

2. Dépôts

Les dépôts agissent comme des conteneurs de fichiers et permettent le versionnement, chaque dépôt est représenté par un lien unique proposé en HTTPS et SSH qui permettra d’effectuer un clone local du projet.

../../_images/depot.jpgdepot

2.1. Branches

Chaque dépôt est contitué au moins d’une branche Master, cette dernière est régulièrement protégée pour éviter les erreurs de rétro-compatibilité.

Pour effectuer les modifications il vaut mieux créer une branche pour y effectuer les modifications, puis créer une merge request.

2.2. Merge request

Une merge request est une demande d’intégration de modifications d’une branche enfant vers une branche parent, après avoir effectué des modifications sur une branche, il faudra créer une merge request et l’affecter à la personne en charge du projet.

De cette manière la personne en charge du projet pourra vérifier et accepter (ou pas) la demande.

2.3. Issue

Une issue est une tâche liée à un problème ou une évolution, l’auteur de l’issue pourra dialoguer avec le responsable de produit et suivre l’avancement de la tâche.

Quand le responsable de projet décide d’effectuer une tache il pourra lier l’issue à une merge request elle même liée à une branche, de cette manière on pourra une fois la tâche terminée vérifier les modifications effectuées.

2.4. Labels

Les labels agiront comme des tags pour classifier les issues (bug, évolution etc..) on peut définir les labels à utiliser dans le dépôt ainsi que dans les groupes.

../../_images/labels.jpglabels

2.5. Milestones

Un milestone est un ensemble d’issues à effectuer pour une version/projet, il permet entre autres de suivre l’avancement du projet.

../../_images/milestone.jpgmilestone

3. Droits

Sur GitLab il y a 5 types de droits qui peuvent entre autres effectuer les opérations ci-dessous, une documentation complète est disponible sur https://docs.gitlab.com/ee/user/permissions.html

3.1. Guest

  • Visualiser le projet
  • Créer des issues
  • Voir les issues y compris confidentielles
  • Laisser des commentaires

3.2. Reporter

  • Pull le projet
  • Assigner des issues
  • Donner les labels aux issues
  • Administrer les labels
  • Voir les merge requests
  • Manager les issues

3.3. Developer

  • Créer des branches
  • Push sur les branches non protégées
  • Créer/éditer les milestones
  • Accepter les merge requests

3.4. Maintainer

  • Ajouter des nouveaux membres
  • Accéder aux paramètres du dépôt
  • Rendre les branches protégées ou non

3.5. Owner

  • Changer le niveau de visibilité
  • Supprimer/renommer le projet
  • Supprimer les issues