Comment installer et configurer votre propre serveur GitLab

Guide pas à pas pour installer GitLab Omnibus sur Ubuntu et configurer vos premiers Runners GitLab sur Windows.

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-).

token gitlab runner

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.

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 !

15 commentaires

Membre

actif

23/04/26

Les runners Windows sont nickel ça tombait pile poil

Membre

actif

23/04/26

Propre l'étape de vérification des services internes

23/04/26

l'installation de l'agent de messagerie postfix était toujours un point galère

Ce guide rend ça tellement plus fluide on a pu déployer en 1/2 temps sur nos VMs de dev

Membre

actif

23/04/26

Bien vu l'ajout du dépôt officiel GitLab direct

Membre

actif

23/04/26

Le détail sur l'enregistrement et liaison du Runner est super clair

On a eu pas mal de soucis avec des runners mal configurés, ce passage sécurise bien le setup pour nos CI/CD

Membre

actif secouriste

23/04/26

Comprendre l'architecture serveur et exécuteurs aide beaucoup

23/04/26

La préparation du système d'exploitation bien expliquée

Membre

actif

23/04/26

Top pour le déploiement des runners sur Windows

La création de l'arborescence de travail est un détail qui change tout pour la maintenance future du runner

Membre

actif

23/04/26

Installation du paquet principal nickel

Membre

actif

23/04/26

téléchargement du fichier binaire des runners, ça va vite

Membre

actif

23/04/26

L'installation du service Windows pour le runner, indispensable

Membre

actif

23/04/26

les différentes méthodes d'installation bien listées, c'est utile pour choisir

Membre

actif secouriste

23/04/26

On a eu un souci récent avec un runner Linux

Votre partie sur le téléchargement et l'installation du Runner Linux a aidé à débloquer la situation, on avait zappé une dépendance

Membre

actif

23/04/26

Ce guide est devenu notre référence interne pour les nouvelles installations, merci

Membre

actif

23/04/26

Merci pour le guide installation GitLab sur Ubuntu

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire