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. Par défaut, les nouveaux dépôts sont privés mais peuvent hériter la visibilité du ou des groupes parents. L’accès au projets et leur visibilité suit les règles définies dans la documentation officielle GitLab.

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

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.

Comptes utilisateur

L’instance GitLab du CC-IN2P3 est à : https://gitlab.in2p3.fr.

Les utilisateurs académiques DOIVENT s’enregistrer par la fédération eduGAIN, en cliquant EduGAIN [Shibboleth].

Les utilisateurs non reconnus par la fédération d’identité peuvent s’inscrire via le formulaire Nom d’utilisateur/Mot de passe. 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

La connexion par EduGAIN permet une validation automatique du compte lors du premier accès. EduGAIN peut par ailleurs être utilisé pour une connexion rapide à plusieurs autres services du CC-IN2P3, tels que ATRIUM ou Box.

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. Veuillez privilégier les adresses institutionnelles et à ne recourir à des adresses personnelles (type Yahoo, Gmail ou autre) qu’en ultime recours.

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.

Lorsqu’un utilisateur retrouve son enregistrement en attente de validation, 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.

Par défaut, les nouveaux utilisateurs pourront créer des projets uniquement dans les groupes de projets desquels ils sont membres, mais pas sur leur propre namespace (statut external). Le message d’erreur suivant, quelque peu cryptique, sera émis par Gitlab :

404: Namespace not valid

Note

Pour faciliter la gestion des propriétés, nous suggérons de créer des projets dans les groupes de projets dont un utilisateur est membre et pas dans son namespace. L’accès à son namespace peut toutefois être accordé sur simple demande à notre support utilisateur.

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 l’authentification EduGAIN

Lorsqu’un compte est créé par le formulaire Nom d’utilisateur/Mot de passe, on ne peut pas utiliser l’authentification EduGAIN. Il est quand-même possible de la configurer depuis 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 EduGAIN

Lors d’un enregistrement EduGAIN, 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 le formulaire Nom d’utilisateur/Mot de passe en choisissant un username différent de l’homonyme ;
  • activer EduGAIN pour ce compte.

Gestion de fichiers volumineux

Git n’est pas très efficace pour gérer des fichiers binaires volumineux (> quelques Mo) qui ont en plus l’inconvénient de ne pas être “différentiables”. Pour la gestion de ce type de fichiers, tels que fichiers audio, video graphique ou images de machines virtuelles, GitLab supporte “git lfs”.

Intégration/Déploiement Continu

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

Note

Par défaut, tous les projets ont accès à plusieurs runners publics partagés qui traiteront vos jobs CI. Cependant, ils sont partagés pour plusieurs milliers d’utilisateurs et leurs ressources sont très limitées. La confidentialité des données n’est pas garantie car le matériel peut être partagé par plusieurs utilisateurs en même temps. Dans le cas où les runners partagés ne suffiraient pas, vous pouvez facilement déployer et utiliser votre propre infrastructure CI pour vos projets. Plus d’informations sur la documentation de Gitlab runner.

Pour tout problème vous pouvez contacter notre support utilisateurs

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>/

Fonctionnalités avancées des pages

Les fonctionnalités suivantes sont disponibles :

  • Domaines personnalisés : cela nécessite l’achat d’un nom DNS et une configuration appropriée de votre part.
  • Certificats HTTPS : statiques ou automatiques avec Letsencrypt.

Les fonctionnalités suivantes ne sont pas prises en charge en raison des limitations de l’architecture de notre plate-forme :

  • Contrôle d’accès : toutes les pages sont publiques.

Des fonctionnalités avancées supplémentaires peuvent nécessiter une interaction avec notre support utilisateur.

Attention

Gitlab Pages est destiné à héberger des pages Web statiques, petites et simples. Le principal cas d’utilisation est la documentation (le Wiki peut également être utilisé de cette manière). Tout autre cas d’utilisation serait probablement mieux servi via un hébergement Web plus classique. Dans ce cas et si vous êtes utilisateur IN2P3 ou membre d’une collaboration IN2P3 n’hésitez pas à demander de l’aide à notre support utilisateurs.