Skip to content

Gitlab

GitLab, qu'est-ce que c'est ?

GitLab permet de synchroniser son travail avec ses coéquipiers. C'est une plateforme logicielle qui héberge des dépôts git (des fichiers avec un historique permettant de revenir en arrière et de travailler à plusieurs, etc.) et ajoute à cela une belle interface web, des fonctions de gestion de projet, de discussion, etc.

En plus d'être pratique pour les projets, c'est un outil que vous utiliserez certainement en stage et dans votre vie professionnelle !

Info

Si vous êtes un ancien de l'imag, un vieux de la vieille, vous avez peut-être l'habitude de stocker vos projets sur depots.ensimag.fr. Cependant faire à chaque fois un dépôt sur depots.ensimag.fr à la main, en ligne de commande, honnêtement c'est lent, désagréable, bref pas pratique du tout.


Le GitLab de l'Ensimag

L'Ensimag héberge un GitLab accessible avec vos identifiants habituels à l' adresse gitlab.ensimag.fr.

Configuration

Pour éviter que n'importe qui ne modifie vos projets, il y a une sécurité. Ici ce n'est pas un mot de passe, mais une clé SSH que vous seul possédez (en fait, on a souvent 1 clé par machine) et qui permet de vous donner accès à vos dépôts GitLab.

Étape 1 - créer une clé SSH

Sur votre machine, dans un terminal :

ssh-keygen -f ~/.ssh/nom_de_la_clé

On vous demandera ensuite une « passphrase » (appuyez sur entrée pour ne pas en mettre) : c'est un mot de passe qui protège votre clé SSH (oui ça fait pas mal de protection tout ça).

On parle de « clé ssh » au singulier, mais il s'agit plutôt d'une paire de clés. ssh-keygen va donc créer deux fichiers :

  • ~/.ssh/<nom_de_la_clé>.pub : contient la clé publique, que vous allez donner à gitlab plus tard
  • ~/.ssh/<nom_de_la_clé> : contient la clé privée, à ne donner à personne !

Étape 2 - enregistrer la clé

Commande à effectuer :

ssh-add ~/.ssh/<nom_de_la_clé>

Cela sert à enregistrer votre nouvelle clé dans le système de clés SSH de votre session, pour qu'elle puisse servir à vous authentifier quand vous utilisez git (ou un autre logiciel).

Étape 3 - donner la clé à GitLab

  1. Cliquez sur votre avatar (en haut à droite) puis sur le lien « Settings ».

GitLab settings

  1. Dans le menu à gauche, ouvrez « SSH Keys* ».

  2. Copiez-collez votre clé publique (le contenu du fichier ~/.ssh/<nom_de_la_clé>.pub) dans la zone de texte et validez.

C'est bon ! Vous pouvez maintenant utiliser vos dépôts GitLab avec cette machine. Si vous voulez utiliser un autre ordinateur, vous pourrez générer une autre clé sur cette machine et l'ajouter à GitLab de la même façon.

Bonnes habitudes

C'est pratique de « star⭐ » (mettre en favori) les dépôts les plus utilisés.

Vous pouvez aussi changer votre avatar pour que l'on vous reconnaisse.

Créer un nouveau projet

Depuis l'accueil, il suffit de cliquer « new project » et de répondre à quelques questions.

Vous accédez ensuite à la page du projet où vous pouvez obtenir le lien pour cloner ce dernier (« clone with SSH »).

Tout seul on va plus vite, ensemble on va plus loin !

N'oubliez pas d'ajouter vos coéquipiers au projet. Dans les paramètres (« settings ») du projet, onglets membres (« members »), vous pouvez rechercher le login de vos coéquipiers. N'oubliez pas de leur donner les permissions « maintainer » pour qu'il aient un accès complet au projet.


J'ai un problème !

  • Quand je suis dans une session SSH sur un PC de l'école, mes clés ne fonctionnent plus : git clone me demande un mot de passe, etc..

    Solution : relancer l'agent SSH et ré-enregistrer la clé.

    eval `ssh-agent -s`
    ssh-add chemin/vers/ma_clé_ssh
    
  • J'ai tout bien fait mais git me demande toujours le mot de passe de git@gitlab.ensimag.fr !

    Solution : Parfois il faudra attendre jusqu'à 24h pour que l'ajout de la clé sur GitLab soit effectif.

  • Je n'arrive pas à m'authentifier ou à charger la page.

    Solution : Il faut que le PC soit à l'heure, vous pouvez aussi essayer en mode navigation privée !

  • Un autre problème ?! Pas de panique !

    Solution : contactez-nous.