logo telecom ipp

Chapitre 5 : Gitlab

GitLab est un logiciel qui combine un serveur GIT et un serveur Web et plein d’autres outils utiles.

Le serveur GIT répond aux demandes push, pull, clone, etc…

Le serveur Web vous montre des informations sur les dépôts existants et leur contenu, vous permet de configurer votre profil et vos actions, et vous permet d’accéder à plusieurs types d’outils complémentaires :

  • Configurer votre communication avec SSH
  • Donner des accès à vos projets à d’autres personnes
  • Consulter l’activité sur vos projets
  • Suivre votre projet avec des outils comme les issues, deadlines, milestones, sprints, merge requests qui sont des mots clefs en développement logiciel que vous verrez plus tard.
  • Automatiser des processus sur vos projets, comme par exemple, à chaque commit ou push sur une branche :
    • Lancer un processus de test, et si les tests échouent, refuser le commit ou le push
    • Lancer une installation de la nouvelle version du logiciel
    • Une combinaison des deux, sur plusieurs machines d’architectures différentes

Gitlab

Préparer l’environnement Gitlab/SSH

Connexion SSH à Gitlab

Une première étape clef dans votre communication avec gitlab est de configurer la communication par SSH.

En général, il est possible de se connecter à gitlab/github de plusieurs façons, dont par login et mot de passe. A Télécom, seule la connexion par SSH est confortable à utiliser, mais délicate à configurer.

Je suppose que vous avez déjà une paire de clefs SSH privée et publique. Personnellement, j’ai créé une autre paire de clefs SSH spécialement pour mes communications GitLab et GitHub.

Dans votre navigateur, allez sur Gitlab. En haut à droite, cliquez sur votre compte.

Choisissez « préférences », puis « clefs SSH »

Ouvrez dans un terminal et affichez votre clef publique : recopiez la dans le presse-papiers (contrôle-C ou command-C).

Collez la clef dans la zone adéquate. Mettez un titre à votre clef, et des paramètres pertinents.

Puis « ajoutez la clef ». Voici pour la partie du gitlab.

Exemple Cloner un dépôt distant

Connecter un dépôt local à un dépôt distant

GIT: Exemple commit, push, pull

GIT: Avoir deux espaces de travail synchronisés entre maison et école

  • la première fois:
    • mêmes instructions que “créer un nouveau dépôt”
    • git remote add distant URL pour ajouter URL comme dépôt distant
    • git push --set-upstream distant main pour connecter la branche locale main avec la branche distante main et envoyer l’information
    • à la maison: git clone URL
  • les fois suivantes:
    • d’un coté, faites des changements, commit et git push
    • de l’autre, git pull récupère ce qui a été poussé et fait la fusion si nécessaire
    • résolvez les conflits éventuels
    • git commit