Skip to main content

Gitlab

Git est un système de contrôle de version distribué, ce qui signifie que vous pouvez travailler localement, puis partager ou pousser vos modifications vers un serveur. Nous disposons d'un serveur GitLab local, dédié à l'usage des agents de l'IMEV pour la gestion de leurs projets et du code source, disponible sur https://gitlab.imev-mer.fr/ 

Première connexion

Screenshot from 2024-08-26 14-38-12.png

  • Après la connexion, votre compte devra être approuvé par un administrateur. Une fois approuvé, vous recevrez une notification.

Des clés SSH pour communiquer avec GitLab

GitLab utilise le protocole SSH pour communiquer en toute sécurité avec Git. Lorsque vous utilisez des clés SSH pour vous authentifier auprès du serveur distant GitLab, vous n'avez pas besoin de fournir votre nom d'utilisateur et votre mot de passe à chaque fois.

Vous pouvez consulter la documentation officielle GitLab pour plus de détails sur les clés SSH.

Générer une paire de clés SSH ED25519

Suivez les étapes ci-dessous pour générer une clé SSH de type ED25519, en fonction de votre système d'exploitation.

Windows
  1. Ouvrez PowerShell en tant qu'administrateur : 

    Screenshot 2024-10-21 171543.png

  2. Exécutez la commande suivante pour créer une paire de clés SSH :

    ssh-keygen -t ed25519 -C "<commentaire>"votre_nom"
    Comme <commentaire> vous pouvez mettre votre nom
  3. Lorsque vous y êtes invité, acceptez l'emplacement par défaut en appuyant sur Entrée ou spécifiez un emplacement personnalisé.

  4. Ajoutez une phrase de passe (facultatif) pour plus de sécurité. Elle vous sera demandée lors de votre première connexion de la journée.

     

    Vous trouverez vos clés générées dans le dossier par défaut : C:\Users\<Votre_Nom_Utilisateur>\Votre_Nom_Utilisateur\.ssh\

MacOS et Linux (Terminal)
  1. Ouvrez un Terminal.
  2. Exécutez la commande suivante pour créer une paire de clés SSH :

    ssh-keygen -t ed25519 -C "<commentaire>"votre_nom"
    Comme <commentaire> vous pouvez mettre votre nom
  3. Acceptez l'emplacement par défaut en appuyant sur Entrée (généralement ~/.ssh/id_ed25519 ) ou spécifiez un emplacement personnalisé.

  4. Ajoutez une phrase de passe pour plus de sécurité (facultatif). Elle vous sera demandée lors de votre première connexion de la journée.

     

Une fois ces étapes terminées, vous aurez deux fichiers :

  • Clé privée : id_ed25519
  • Clé publique : id_ed25519.pub

Ajouter une clé SSH à votre compte GitLab

Pour utiliser cette clé SSH avec GitLab, il est nécessaire de l’ajouter à votre compte :

  1. Copiez le contenu de votre fichier de clé publique. Vous pouvez le faire manuellement ou utiliser un script. Par exemple, pour copier une clé ED25519 dans le presse-papiers :

    macOS

    tr -d '\n' < ~/.ssh/id_ed25519.pub | pbcopy

    Linux (requiert le package xclip)


    xclip -sel clip < ~/.ssh/id_ed25519.pub

    Git Bash sur Windows


    cat ~/.ssh/id_ed25519.pub | clip
    Si vous avez copié la clé manuellement, assurez-vous de copier l'intégralité de la clé, qui commence par  ssh-ed25519 et se termine par le commentaire que vous avez mis, dans ce cas, votre nom.
  2. Connectez-vous à votre compte GitLab, puis allez dans Preferences > SSH Keys.

  3. Sélectionnez Add new key

  4. Collez la clé publique dans le champ Key, puis cliquez sur Add key.


Vérifier que vous pouvez vous connecter

Après avoir ajouté la clé, vous pouvez vérifier que la connexion SSH est bien établie :

  1. Exécutez la commande suivante pour tester la connexion :


    ssh -T git@gitlab.com
  2. Si la configuration est correcte, vous verrez un message indiquant que l'authentification a réussi, par exemple :


    Welcome to GitLab, @votre_nom_utilisateur!

Configurer un projet avec une connexion SSH

Pour cloner ou gérer un projet GitLab via SSH :

  1. Allez sur la page de votre projet GitLab.

  2. Cliquez sur le bouton Clone, puis choisissez l'option Clone with SSH.

  3. Copiez l'URL SSH fournie.

  4. Dans votre terminal, clonez le projet à l’aide de la commande suivante :


    git clone git@gitlab.com:imev-mer.fr:votre_nom_utilisateur/votre_projet.git

Cela configurera votre dépôt en utilisant une connexion SSH sécurisée.