🗒️ Notice : Git et Gitlab
L’instance Gitlab de l’université est un déploiement du logiciel Gitlab, une forge logicielle open-source archi complète et similaire en terme de fonctionnalités au service en ligne commercial Github.
Dans le cadre du cours, nous allons juste apprendre à cloner le code source d’un projet Gitlab, et à utiliser la fonctionnalité registre de conteneurs de Gitlab, afin d’y publier nos images de conteneur.
1. Connexion et page d’accueil
Pour se connecter sur le Gitlab de l’université, se rendre sur la page d’accueil, choisir le mode de connexion LDAP, et saisir ses informations de connexion universitaires habituelles.
On arrive alors sur une page d’accueil similaire à ceci :
-
Tout en haut à gauche, un ensemble de boutons généraux vous accompagnent sur toutes les pages où vous naviguerez.
On peut cliquer sur son avatar pour accéder au menu permettant de modifier son profil et ses préférences. On peut ainsi changer l’apparence de Gitlab ou son avatar. -
À gauche, un panneau permet d’accéder toutes les sections accessibles du contexte actuel. Par défaut une fois connecté, c’est le contexte Votre travail qui est actif, et la sections Accueil qui est ouverte. On peut voir que dans le contexte Votre travail, les sections proposées incluent notamment tout ce qu’on peut créer avec un compte Gitlab (projets, groupes, tickets, etc).
Le contenu du panneau changera complètement en fonction du contexte ! Par exemple si on navigue dans un projet, alors le panneau proposera toutes les sections en lien avec un projet. -
Au milieu, sur la largeur de l’écran, on peut lire un résum des dernières activités liées à votre compte.
2. Cloner le code source d’un projet Gitlab
Pour récupérer le code source d’un projet Gitlab, on effectue un clone projet.
On se rend pour cela sur la page d’accueil d’un projet Gitlab :
-
Cliquer sur le bouton Cloner ouvre un menu avec différentes informations.
-
Deux adresses sont proposées, chacune avec un bouton à droite pour copier cette adresse dans votre presse-papier :
-
Cloner avec SSH est l’adresse SSH pour cloner,
-
Cloner avec HTTPS est l’adresse HTTPS pour cloner.
-
-
On peut ignorer les actions proposées dans Ouvrir dans votre IDE.
| Le plus simple est de faire un clone par HTTPS, car le clone par SSH nécessite d’enregistrer une clé SSH dans Gitlab au préalable. |
Ensuite on peut ouvrir un terminal sur un poste de travail Linux, et effectuer la commande suivante :
$ git clone adresse_ssh_ou_https
en remplaçant adresse_ssh_ou_https par le contenu de votre presse-papier.
Suite au clone, vous avez désormais un nouveau répertoire sur votre poste, qui porte normalement le même nom que votre projet Gitlab.
Ce répertoire contiendra toujours à la fois le code source du projet, et également un répertoire caché appelé .git qui contient tout l’historique Git du projet.
3. Stocker ses images de conteneur dans le registre
3.1. Créer un projet
Pour créer un projet vide, deux possibilités :
-
soit depuis la section Projets, on utilise le bouton Nouveau projet situé tout en haut à droite de l’écran,
-
soit depuis les boutons généraux en haut à gauche, on clique sur le ➕ et on choisit Nouveau projet/dépôt.
On choisit ensuite Créer un projet vide, et on arrive sur l’écran suivant :
Concernant les informations à saisir :
-
Nom du projet : Une description simple claire de votre projet, en plusieurs mots si nécessaire
-
URL du projet : Un menu déroulant permet de choisir un emplacement pour le projet. En effet, un projet peut soit appartenir à un compte utilisateur, soir à un groupe. Dans le cadre du cours, vous pouvez ici toujours sélectionner votre propre compte utilisateur.
-
Identifiant « slug » du projet: Ne rien changer ici, sera automatiquement déduit du nom du projet.
-
Niveau de visibilité : Dans le cadre du cours, on créera toujours des projets privés, afin de permettre à chaque groupe de travailler isolément.
-
Configuration du Projet : Il est conseillé de décocher les deux cases, pour partir d’une configuration vierge.
On peut alors valider avec le bouton Créer le projet, et on arrive sur l’écran suivant :
On peut voir que :
-
Le panneau de gauche a changé de contexte. Le nouveau contexte est celui du projet tout juste créé.
-
La section sélectionnée par défaut est Vue d’ensemble du projet.
-
Un message vous invite à Inviter votre équipe, autrement dit à ajouter des membres au projet pour pouvoir y travailler à plusieurs.
-
Un message vous indique que "Le dépôt de ce projet est vide", et vous invite à ajouter des fichiers. On peut ignorer ces boutons car nous ajouterons les fichiers via Git.
-
Une longue liste "Instructions en ligne de commande" est fournie. On peut l’ignorer car on ne travaillera pas avec Git.
3.2. Publier une image de conteneur au sein d’un projet
Au sein d’un projet Gitlab, il sera possible de publier des images de conteneur que vous aurez préparées.
Pour publier une image présente dans votre stockage local d’image, la commande à utiliser sera la suivante :
$ podman image push <image du stockage local> \
docker-registry.univ-nantes.fr/<chemin projet>/<nom image>:<étiquette image>
où <chemin projet> est le chemin de votre projet au sein de l’arborescence Gitlab.
Si vous avez le compte étudiant eXXXXX et que vous avez nommé votre projet mon_super_projet, alors votre chemin de projet aura la forme eXXXXX/mon_super_projet.
| Il est nécessaire de mettre votre compte étudiant en minuscules pour que le chemin cible de publication d’image fonctionne. |
3.3. Accéder aux images de conteneurs d’un projet
Chaque projet Gitlab se voit attribuer un espace au sein du registre de conteneurs de l’instance Gitlab. Cet espace permet de stocker un ensemble d’images de conteneurs associées à ce projet.
Pour accéder aux images de conteneurs, se rendre rendant dans la section Déploiement → Registre de conteneur