Guide complet : Installation GitLab Ubuntu et GitLab Runner Windows de A à Z
La mise en place d'une forge logicielle DevOps indépendante est une étape cruciale pour toute équipe de développement souhaitant maîtriser son infrastructure. L'objectif de ce guide exhaustif est de vous accompagner pas à pas dans l'installation de GitLab sur serveur privé en utilisant Ubuntu, puis de configurer des agents d'exécution, appelés Runners, à la fois sur Linux et sur Windows pour propulser votre pipeline CI/CD.
En hébergeant vous-même ces outils, vous garantissez la souveraineté des données source de votre entreprise tout en optimisant les performances de vos déploiements. Ce tutoriel couvre absolument toutes les étapes, de la préparation du système d'exploitation jusqu'à l'enregistrement final de l'exécuteur.
Les différentes méthodes d'installation
Avant de plonger dans le vif du sujet, sachez qu'il existe plusieurs manières de déployer GitLab. On peut notamment passer par une installation GitLab Docker, ce qui est très pratique pour isoler les services dans des conteneurs. Cependant, pour un cours complet et une maîtrise totale de votre infrastructure, nous allons privilégier la méthode Omnibus sur Ubuntu.
Dans cet article, nous allons diviser le travail en deux grandes phases : le déploiement du Cerveau (le serveur GitLab) et la mise en place des Bras (les exécuteurs de tâches appelés Runners).
Comprendre l'architecture : Le Serveur et les Exécuteurs
Avant de taper la moindre commande, il est fondamental de comprendre la séparation des rôles au sein de l'écosystème GitLab :
- Le Serveur (Cerveau) : Hébergé sur Ubuntu, il fait tourner l'interface web, gère la base de données PostgreSQL, stocke le code Git et orchestre les permissions. C'est le paquet Omnibus GitLab.
- Les Runners (Bras) : Ce sont des services déportés (sur Ubuntu ou Windows) qui se connectent au serveur pour récupérer et exécuter les tâches d'automatisation des tests et de compilation.
Déployer GitLab sur Ubuntu (Le Serveur)
Ubuntu est la distribution Linux la plus documentée pour héberger le serveur DevOps. Nous allons utiliser la méthode Omnibus, qui regroupe toutes les dépendances complexes en une seule installation fluide.
Préparation du système d'exploitation
Connectez-vous à votre machine Ubuntu en utilisant le protocole SSH avec les droits d'administration. La première étape consiste à rafraîchir la liste des paquets et à installer les outils de base indispensables au téléchargement sécurisé.
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
Installation de l'agent de messagerie (Postfix)
Pour que votre plateforme de versioning puisse envoyer des e-mails transactionnels (réinitialisation de mot de passe, alertes d'échec de pipeline), vous devez installer Postfix.
sudo apt-get install postfix
Durant l'installation de Postfix, un écran interactif apparaîtra. Utilisez les flèches de votre clavier pour sélectionner Internet Site, appuyez sur Entrée, puis renseignez le nom de domaine complet de votre serveur.
Ajout du dépôt officiel GitLab
Afin de télécharger la dernière version stable et de bénéficier des futures mises à jour de sécurité, il faut lier votre système aux serveurs de l'éditeur.
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Installation du paquet principal
C'est la commande la plus importante. Vous devez déclarer l'URL publique par laquelle vos développeurs accèderont à l'interface. Remplacez l'adresse d'exemple par votre véritable nom de domaine ou adresse IP.
sudo EXTERNAL_URL="https://gitlab.votre-entreprise.com" apt-get install gitlab-ce
Récupération des accès administrateur
L'installation génère automatiquement un mot de passe très complexe pour le compte root. Ce mot de passe est stocké temporairement (24 heures) dans un fichier texte brut. Affichez-le et sauvegardez-le immédiatement :
sudo cat /etc/gitlab/initial_root_password
Vérification des services internes
Une fois le terminal rendu, assurez-vous que tous les microservices (Nginx, Puma, Redis) de votre instance GitLab autohébergée sont actifs et fonctionnels :
sudo gitlab-ctl status
Installer GitLab Runner sur Linux Ubuntu
Maintenant que votre serveur est en ligne, il lui faut de la puissance de calcul locale pour traiter les tâches basiques. Nous allons installer le premier exécuteur directement sur la même machine (ou une machine Linux annexe).
Téléchargement et installation du Runner
Comme pour le serveur, nous ajoutons le dépôt spécifique aux Runners avant de lancer l'installation du service :
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
sudo apt-get install gitlab-runner
L'enregistrement (Linkage)
Le Runner doit prouver son identité au serveur via un jeton d'authentification sécurisé. Allez sur votre interface web GitLab dans Admin Area > CI/CD > Runners ou dans les Settings de votre projet pour générer un Runner Authentication Token (qui commence par glrt-).
Enregistrement et liaison du Runner
Une fois le logiciel installé, il est temps de procéder à l'étape la plus importante : l'enregistrement du Runner. Sans cette manipulation, votre serveur GitLab ne saura pas que cet "ouvrier" est prêt à travailler pour lui.
Pour ce faire, connectez-vous en SSH sur votre serveur GitLab Runner (ou ouvrez votre terminal s'il s'agit de la même machine) et tapez la commande suivante :
sudo gitlab-runner register \
--url "https://gitlab.votre-entreprise.com/" \
--token "glrt-VOTRE_TOKEN_SECRET" \
--executor "shell" \
--description "Runner Linux Principal"
Voici ce qu'il faut comprendre sur cette commande :
- Le paramètre --executor "shell" indique que les commandes de vos futurs tests seront exécutées directement dans le terminal de ce serveur.
- Vous pouvez également ajouter le paramètre --tag-list "docker,linux". Les tags GitLab servent à marquer vos Runners pour que GitLab sache lequel utiliser en fonction du projet (par exemple, utiliser uniquement un Runner Windows pour un projet .NET).
Note sur la configuration avancée
Ne vous saturez pas l'esprit tout de suite avec les tags ou les différents types d'exécuteurs (Docker, Kubernetes, etc.). L'objectif ici est d'avoir une machine fonctionnelle. Nous verrons toute la puissance de la configuration des Runners et l'optimisation des pipelines dans un chapitre dédié à la CI/CD.
Déployer GitLab Runner sur Windows
Si votre équipe développe des applications .NET ou nécessite des compilations spécifiques à l'environnement de Microsoft, il est impératif de configurer un Runner Windows. Cette machine sera pilotée à distance par votre serveur Ubuntu.
Création de l'arborescence de travail
Connectez-vous à votre machine Windows. Sur le disque principal, créez un répertoire dédié à la racine pour éviter les problèmes de droits liés aux dossiers utilisateurs.
- Ouvrez l'explorateur de fichiers.
- Allez dans Ce PC > Disque local (C:).
- Créez un nouveau dossier nommé exactement GitLab-Runner.
Téléchargement du fichier binaire
Ouvrez votre navigateur internet sur la machine Windows et téléchargez l'exécutable officiel adapté à votre architecture (généralement 64-bit) :
- Téléchargez le fichier gitlab-runner-windows-amd64.exe depuis les serveurs d'archives officiels de GitLab.
- Déplacez ce fichier dans le dossier C:\GitLab-Runner créé précédemment.
- Renommez le fichier téléchargé en un nom plus court : gitlab-runner.exe.
Enregistrement du Runner sur l'instance
Ouvrez le menu Démarrer de Windows, tapez PowerShell, faites un clic droit dessus et sélectionnez Exécuter en tant qu'administrateur. Il est vital d'avoir les privilèges élevés.
Placez-vous dans le bon répertoire :
cd C:\GitLab-Runner
Lancez la procédure interactive d'enregistrement :
.\gitlab-runner.exe register
Le système va vous poser une série de questions. Répondez-y méticuleusement :
- Enter the GitLab instance URL : Entrez l'adresse de votre serveur Ubuntu (ex: https://gitlab.votre-entreprise.com).
- Enter the registration token : Collez votre jeton commençant par glrt-.
- Enter a description for the runner : Saisissez un nom reconnaissable, par exemple Build-Machine-Windows-10.
- Enter an executor : Tapez shell (pour utiliser PowerShell) ou docker-windows si vous utilisez la conteneurisation.
4. Installation du service Windows
Pour que le Runner démarre automatiquement à chaque redémarrage de la machine Windows sans action humaine, vous devez l'installer en tant que service système. Restez dans votre invite PowerShell en mode administrateur et tapez successivement :
.\gitlab-runner.exe install
.\gitlab-runner.exe start
Vérification de la connectivité
Retournez sur l'interface web de votre serveur GitLab (Ubuntu), dans la section des Runners. Vous devriez maintenant voir vos deux machines (Linux et Windows) affichées avec une pastille verte, prêtes à traiter vos déploiements continus.
Conclusion
En résumé, GitLab est bien plus qu'une simple bibliothèque pour votre code. C'est une plateforme DevOps globale qui supprime les barrières entre le développement et les opérations. En regroupant tout au même endroit, on gagne énormément en rapidité et en qualité logicielle.
Maintenant que vous avez l'image globale, nous allons passer à la pratique. Dans le chapitre suivant, nous allons voir comment installer GitLab pour créer votre propre usine logicielle.
Espace commentaire
Écrire un commentaire
Vous devez être connecté pour poster un message !
0 commentaire