15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer
31.10.2024
1 +1

Comment installer GitLab sur Ubuntu : Guide complet étape par étape

GitLab est l’une des plates-formes DevOps open-source les plus puissantes disponibles aujourd’hui, offrant une suite complète d’outils incluant le contrôle de version basé sur Git, les pipelines d’intégration continue/livraison continue (CI/CD), le suivi des problèmes et les fonctionnalités de collaboration d’équipe — tout en un seul endroit. Que vous gériez une petite équipe de développement ou que vous exécutiez des projets logiciels à l’échelle de l’entreprise, l’auto-hébergement de GitLab sur Ubuntu vous donne un contrôle total sur vos données, vos flux de travail et votre infrastructure.

Ce guide vous guide à travers chaque étape de l’installation et de la configuration de GitLab Community Edition (CE) sur un serveur Ubuntu, de la préparation initiale du système à l’activation de HTTPS et à la gestion des services.

Conditions préalables

Avant de commencer, assurez-vous d’avoir les éléments suivants en place :

  • Un serveur exécutant Ubuntu 20.04 ou 22.04 LTS (installation fraîche recommandée)
  • Un minimum de 4 GB RAM et 2 CPU cores (GitLab recommande au moins 4 cores pour une utilisation en production)
  • Accès root ou sudo au serveur
  • Un nom de domaine enregistré pointant vers l’adresse IP de votre serveur (facultatif mais fortement recommandé pour HTTPS)
  • Ports 80 et 443 ouverts dans votre pare-feu

> Conseil : Pour les meilleures performances de GitLab, envisagez de déployer sur un plan VPS Hosting avec suffisamment de RAM et de ressources CPU. Les plans VPS d’AlexHost sont optimisés pour les charges de travail Linux et sont fournis avec un accès root complet, ce qui en fait un environnement idéal pour les plates-formes DevOps auto-hébergées comme GitLab.

Étape 1 : Mettre à jour les paquets système

Avant d’installer un logiciel, il est essentiel de s’assurer que l’index des paquets de votre système et les paquets installés sont complètement à jour. Cela évite les conflits de dépendances et garantit que vous travaillez avec les derniers correctifs de sécurité.

sudo apt update && sudo apt upgrade -y

Attendez que le processus de mise à niveau se termine avant de passer à l’étape suivante.

Étape 2 : Installer les dépendances requises

GitLab nécessite plusieurs paquets de support pour fonctionner correctement, notamment des outils pour la communication sécurisée, la gestion des fuseaux horaires et les scripts. Installez-les avec la commande suivante :

sudo apt install -y curl openssh-server ca-certificates tzdata perl

Voici ce que fait chaque paquet :

PaquetObjectif
curlTélécharge des scripts et des fichiers depuis le web
openssh-serverActive l’accès SSH à votre serveur
ca-certificatesValide les certificats SSL/TLS
tzdataFournit les données de fuseau horaire
perlRequis pour les scripts internes de GitLab

Étape 3 : Ajouter le référentiel officiel de GitLab

GitLab maintient un référentiel de paquets officiel qui rend l’installation et les mises à niveau futures simples. Utilisez la commande suivante pour télécharger et exécuter le script de configuration du référentiel :

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Ce script effectue automatiquement :

  • Détecte votre version Ubuntu
  • Ajoute le référentiel de paquets GitLab à vos sources APT
  • Importe la clé de signature GPG du référentiel pour la vérification des paquets

Une fois le script terminé, votre système est prêt à installer GitLab directement à partir de la source officielle.

Étape 4 : Installer GitLab Community Edition

Installez maintenant GitLab CE en utilisant le gestionnaire de paquets apt. Vous devez définir la variable d’environnement EXTERNAL_URL sur l’URL ou l’adresse IP par laquelle les utilisateurs accéderont à votre instance GitLab.

Si vous avez un nom de domaine :

sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ce

Si vous utilisez une adresse IP (par exemple, pour un serveur local ou privé) :

sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ce

Remplacez gitlab.yourdomain.com ou YOUR_SERVER_IP par votre domaine ou adresse IP réelle.

> Remarque : Le processus d’installation peut prendre plusieurs minutes car il télécharge et configure tous les composants de GitLab, y compris PostgreSQL, Redis, NGINX et Sidekiq.

Pendant l’installation, GitLab va :

  • Installer tous les services groupés (base de données, cache, serveur web, etc.)
  • Se configurer en fonction du EXTERNAL_URL que vous avez fourni
  • Générer les fichiers de configuration initiale dans /etc/gitlab/

Étape 5 : Exécuter la reconfiguration de GitLab

Après l’installation, exécutez la commande de reconfiguration pour finaliser la configuration, initialiser la base de données et démarrer tous les services GitLab :

sudo gitlab-ctl reconfigure

Cette commande lit la configuration à partir de /etc/gitlab/gitlab.rb et applique tous les paramètres. Elle génère également des certificats SSL (si Let’s Encrypt est configuré), configure le schéma de la base de données et démarre tous les services d’arrière-plan requis.

Vous devriez voir une longue sortie se terminant par un message similaire à :

gitlab Reconfigured!

Étape 6 : Accéder à GitLab dans votre navigateur Web

Une fois la reconfiguration terminée, ouvrez votre navigateur Web et accédez à l’URL que vous avez spécifiée lors de l’installation :

https://gitlab.yourdomain.com

ou

http://YOUR_SERVER_IP

Première connexion

Lors de votre première visite, GitLab vous demandera de définir un mot de passe administrateur. Après l’avoir défini, connectez-vous en utilisant les identifiants suivants :

  • Nom d’utilisateur : root
  • Mot de passe : Le mot de passe que vous venez de créer

> Conseil de sécurité : Modifiez immédiatement les identifiants du compte root par défaut après votre première connexion. Créez un compte administrateur personnel et limitez le compte root à un usage d’urgence uniquement.

Étape 7 : Configurer les notifications par e-mail de GitLab (Facultatif)

L’envoi de notifications par e-mail est essentiel pour une instance GitLab en production — il active des fonctionnalités telles que la vérification de compte, les mises à jour des demandes de fusion, les alertes CI/CD et les réinitialisations de mot de passe. Configurez les paramètres SMTP dans le fichier de configuration principal de GitLab :

sudo nano /etc/gitlab/gitlab.rb

Ajoutez ou modifiez le bloc de configuration SMTP suivant :

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@yourdomain.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Enregistrez le fichier et appliquez les modifications :

sudo gitlab-ctl reconfigure

> Vous cherchez une infrastructure e-mail fiable ? AlexHost offre des services professionnels Email Hosting qui s’intègrent de manière transparente aux applications auto-hébergées comme GitLab, fournissant un relais SMTP stable avec une haute délivrabilité.

Étape 8 : Activer HTTPS avec Let’s Encrypt (Recommandé)

L’exécution de GitLab sur HTTPS est fortement recommandée pour tout environnement de production ou d’équipe. GitLab a un support intégré pour Let’s Encrypt, une autorité de certification SSL gratuite et automatisée.

> Important : Let’s Encrypt nécessite que votre nom de domaine soit accessible publiquement et que le port 80 soit ouvert sur votre serveur. Cela ne fonctionnera pas avec les adresses IP brutes.

Ouvrez le fichier de configuration de GitLab :

sudo nano /etc/gitlab/gitlab.rb

Ajoutez la configuration suivante :

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_admin_email@yourdomain.com']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"

Enregistrez le fichier et reconfigurez GitLab :

sudo gitlab-ctl reconfigure

GitLab obtiendra et installera automatiquement votre certificat SSL, et le paramètre auto_renew garantit qu’il est renouvelé avant l’expiration sans aucune intervention manuelle.

> Alternative : Si vous préférez gérer les certificats SSL indépendamment ou avez besoin de certificats wildcard/multi-domaines, AlexHost offre une gamme de SSL Certificates qui peuvent être configurés manuellement dans les paramètres NGINX de GitLab.

Étape 9 : Gestion des services GitLab

GitLab regroupe son propre outil de gestion des services appelé gitlab-ctl. Utilisez les commandes suivantes pour contrôler les services GitLab :

Démarrer GitLab

sudo gitlab-ctl start

Arrêter GitLab

sudo gitlab-ctl stop

Redémarrer GitLab

sudo gitlab-ctl restart

Vérifier l’état du service

sudo gitlab-ctl status

Afficher les journaux en temps réel

sudo gitlab-ctl tail

Afficher les journaux pour un service spécifique (par exemple, NGINX)

sudo gitlab-ctl tail nginx

Ces commandes sont inestimables pour le dépannage et la maintenance de routine. La commande status affichera l’état de tous les sous-services de GitLab, y compris PostgreSQL, Redis, Sidekiq, Puma (serveur web) et NGINX.

Étape 10 : Configuration initiale de GitLab pour votre organisation

Avec GitLab installé et en cours d’exécution, il est temps de le configurer selon les besoins de votre équipe. Voici les domaines clés à configurer via l’interface Web de GitLab :

Gestion des utilisateurs

Accédez à Admin Area → Users pour créer des comptes utilisateur pour les membres de votre équipe. Vous pouvez configurer les méthodes d’authentification, y compris LDAP, OAuth et SAML pour l’authentification unique d’entreprise.

Groupes et projets

  • Les groupes vous permettent d’organiser les projets connexes et de gérer les autorisations à grande échelle
  • Les projets sont des référentiels individuels avec leurs propres suivi des problèmes, wikis et pipelines CI/CD

Pipelines CI/CD

Le CI/CD intégré de GitLab est l’une de ses fonctionnalités les plus puissantes. Créez un fichier .gitlab-ci.yml à la racine de votre référentiel pour définir des pipelines de construction, de test et de déploiement automatisés.

Paramètres du référentiel

Configurez les règles de protection des branches, les approbations des demandes de fusion et les flux de travail d’examen du code dans la section Settings → Repository de chaque projet.

Configuration de la sauvegarde

Configurez les sauvegardes automatisées en configurant ce qui suit dans /etc/gitlab/gitlab.rb :

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800  # Keep backups for 7 days

Exécutez une sauvegarde manuelle à tout moment avec :

sudo gitlab-backup create

Configuration du pare-feu

Si vous avez UFW (Uncomplicated Firewall) activé sur votre serveur Ubuntu, assurez-vous d’autoriser le trafic HTTP et HTTPS :

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Dépannage des problèmes courants

ProblèmeSolution
15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer