GitLab

Description du service

Gitlab est un service collaboratif de gestion de code et de projet de développement logiciel, qui s’appuie sur le système Git. Notre instance est destinée aux membres de l’IN2P3, aux utilisateurs académiques membres du réseau eduGAIN et à leurs collaborateurs, pour un usage strictement professionnel. La plateforme Gitlab est déployée dans sa version Core.

En cas de problème, veuillez contacter le support utilisateurs.

Avertissement

Qualité de service

Notre engagement est de type best effort : nous nous engageons à mettre en œuvre tous les moyens pour assurer la continuité du service.

Respect des conditions d’utilisation

Nous nous réservons le droit de désactiver/supprimer les comptes ou dépôts qui ne respecteraient pas les conditions d’utilisation, en particulier les droits sur la propriété intellectuelle.

Niveaux de visibilité des dépôts

Il existe 3 niveaux de visibilité pour les dépôts (et donc le code qu’ils contiennent) :

  • Privé : le dépôt n’est visible et accessible que par les membres du projet et des groupes explicitement autorisés, ainsi que des groupes dont le projet est issu ;
  • Interne : le dépôt est visible et peut être cloné par tout utilisateur connecté ;
  • Public : le dépôt est visible et peut être cloné sans aucune authentification. Il sera également répertorié dans le répertoire d’accès public (/public).

Par défaut, les nouveaux dépôts sont privés mais peuvent hériter la visibilité du ou des groupes parents.

Comptes utilisateur

Il est possible de donner accès à vos projets à d’autres utilisateurs de la plateforme Gitlab, depuis le menu “Members”. Si le compte existe déjà, le nouveau “membre” peut être ajouté directement avec le niveau de droits d’accès souhaité. Si cet utilisateur n’a pas encore de compte sur la plateforme Gitlab, il faudra qu’il en crée un.

Une invitation peut également être envoyée directement par email. Veillez à privilégier les adresses institutionnelles et à ne recourir à des adresses personnelles (type Yahoo, Gmail ou autre) qu’en ultime recours. Les raisons à cela sont expliquées dans le paragraphe suivant.

Création de compte/S’enregistrer

  • les utilisateurs académiques DOIVENT s’enregistrer par la fédération eduGAIN, en cliquant [Shibboleth].
  • les autres doivent s’enregistrer en cliquant [Sign-up].

Un bon nombre de domaines institutionnels sont répertoriés dans la fédération : veuillez contrôler la présence de votre tutelle institutionelle sur la page technique d’eduGAIN.

Note

L’utilisation d’EduGAIN pour la connexion permet une validation automatique du compte lors de la première connexion. EduGAIN peut par ailleurs être utilisé pour une connexion rapide à plusieurs autres services du CC-IN2P3, tels que ATRIUM ou Box.

Attention

Les créations de comptes qui ne passent pas par le mécanisme eduGAIN seront initialement bloquées, en attente du processus manuel de validation opéré par les administrateurs de la plateforme Gitlab.

Les enregistrements non-eduGAIN seront initialement bloqués en attente d’une validation manuelle par les administrateurs.

Un “garant” (le mainteneur du projet ou le responsable hiérarchique) doit confirmer la demande de validation au support utilisateurs, en précisant l’identifiant ou l’e-mail associé au compte.

  • Si l’e-mail du compte en attente est institutionnel, les administrateurs pourront lui donner accès à toute les fonctionnalités du service.
  • Si l’e-mail du compte en attente n’est pas institutionnel, il pourra collaborer sur d’autres projets, mais il ne pourra pas créer de projets personnels (statut external).

Configuration SSH

La méthode privilégiée pour interagir avec les dépôts git est SSH. Vous pouvez suivre cette aide pour configurer votre clef SSH.

Activer Shibboleth

Lorsqu’un compte est créé par [Sign-up], on ne peut pas utiliser l’authentification Shibboleth : il faut l’ajouter dans son profile :

Profile Settings > Account > Social sign-in

L’intérêt est de pouvoir utiliser le Single Sign On proposé par les fédérations d’identité.

Doublons Shibboleth

Lors d’un enregistrement par Shibboleth, GitLab construit le champ username en prenant le début de l’adresse mail jusqu’au caractère @. Ce qui peut conduire à des collisions pour des homonymes d’organisations différentes. La solution consiste à :

  • s’enregistrer par [Sign-up] en choisissant un username différent de l’homonyme ;
  • activer Shibboleth pour ce compte.

Intégration/Déploiement Continu

La plateforme d’intégration continue est basée sur GitLab. Il faut configurer votre projet GitLab de sorte à utiliser un Runner ; ainsi chaque commit ou push déclenche l’exécution des pipelines d’intégration continue.

Les informations concernants l’intégration continue (pipelines, jobs, environnements, etc) sont affichées dans le menu “CI/CD” du menu vertical GitLab.

Pour tout problème vous pouvez contacter notre support utilisateurs

Dépôt de fichiers volumineux

GitLab lui-même n’est pas fait pour stocker des fichiers binaires volumineux. Pour la gestion de fichiers tels que fichiers audio, video graphique ou images de machines virtuelles, GitLab supporte “git lfs”.

Pages web statiques de GitLab : “GitLab Pages”

La fourniture de pages web statiques de GitLab, communément appelées “GitLab Pages” est proposée par l’instance du CC-IN2P3. L’adresse de la page web sera de la forme :

https://<user.id>.pages.in2p3.fr/<project-name>/