Comment installer GitLab sur Debian 12 ou 11

GitLab est une plateforme DevOps complète qui offre un large éventail de fonctionnalités pour le contrôle de version, l'intégration continue, le déploiement et la gestion de projet. Il intègre différentes étapes du cycle de vie DevOps dans une seule application, permettant aux équipes de travailler de manière collaborative et efficace. GitLab Community Edition (CE) est la version open source de GitLab, offrant des outils puissants pour gérer les référentiels, suivre les problèmes et automatiser les pipelines CI/CD.

Pour installer GitLab CE sur Debian 12 ou 11, vous pouvez utiliser le script Bash officiel de GitLab pour configurer le référentiel APT GitLab CE, puis installer et configurer le logiciel. Ce guide vous guidera tout au long du processus, vous garantissant une configuration GitLab robuste sur votre système Debian.

Mettre à jour Debian avant l'installation de Gitlab

Garder votre système d'exploitation Debian à jour est crucial pour maintenir sa stabilité et sa sécurité. Pour garantir que tous les paquets existants sur votre système Debian sont à jour, il est recommandé d'effectuer une mise à jour pour fournir les dernières mises à jour de sécurité et corrections de bogues, garantissant ainsi la stabilité et la fiabilité de votre système.

Vous pouvez facilement mettre à jour votre système d'exploitation Debian en exécutant la commande suivante :

sudo apt update && sudo apt upgrade 

Installer les packages requis pour GitLab

S'assurer que toutes les dépendances de GitLab sont installées est une étape critique du processus d'installation. Ces dépendances sont des composants nécessaires sur lesquels GitLab s'appuie pour fonctionner correctement. Heureusement, l'installation de ces dépendances est un processus simple.

Vous pouvez facilement les installer en ouvrant le terminal et en exécutant la commande suivante :

sudo apt install curl ca-certificates apt-transport-https tzdata perl

Importer le référentiel GitLab CE APT

Par défaut, GitLab n'est pas disponible dans les référentiels par défaut de Debian. Cela signifie que vous devez créer un référentiel manuellement pour installer GitLab. Cependant, GitLab fournit un script APT pour faciliter ce processus, facilitant ainsi l'installation de la plateforme par les utilisateurs. Avec ce script, vous pouvez créer un référentiel GitLab, qui vous permettra d'installer GitLab à l'aide du gestionnaire de packages APT standard.

Pour télécharger le script, saisissez la commande suivante dans votre terminal :

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

Une fois que vous aurez exécuté cette commande, le script téléchargera et ajoutera le référentiel GitLab à votre système Debian. Il mettra également à jour la liste des packages, vous permettant d'installer GitLab à l'aide du gestionnaire de packages APT standard.

Finaliser l'installation de GitLab via la commande APT

L'étape suivante consiste à installer GitLab. N'oubliez pas que le script a déjà utilisé la commande « apt update » pour synchroniser le référentiel nouvellement créé et modifié. Cela fait, vous pouvez maintenant procéder à l'exécution de la commande d'installation en exécutant ce qui suit :

sudo apt install gitlab-ce

Cette commande installera GitLab Community Edition (CE), la version gratuite et open source de GitLab. Le processus d'installation peut prendre un certain temps, en fonction de votre vitesse Internet et des spécifications de votre système.

Exemple de résultat si l'installation de GitLab réussit sur Debian :

Configurer GitLab

Pour configurer GitLab sur Debian, plusieurs étapes doivent être suivies attentivement. Cette section décrit le processus étape par étape, y compris la configuration du nom d'hôte, la configuration du pare-feu et la configuration des paramètres de messagerie.

Configurer le nom d'hôte

Pour accéder à votre instance GitLab, il est crucial de configurer le nom d'hôte de votre serveur GitLab, choisissez donc un nom facile à retenir et à accéder. Suivez ces étapes pour configurer le nom d'hôte :

Ouvrez le fichier de configuration GitLab à l'aide d'un éditeur de texte :

sudo nano /etc/gitlab/gitlab.rb

Localisez le paramètre external_url et remplacez l'exemple d'URL par le nom d'hôte souhaité :

external_url 'https://gitlab.example.com'

Enregistrez le fichier et quittez l'éditeur de texte.

Reconfigurez maintenant GitLab pour appliquer les modifications :

sudo gitlab-ctl reconfigure

Configurer le pare-feu UFW pour Gitlab

GitLab utilise par défaut le port 80 pour HTTP et le port 443 pour HTTPS. Il est crucial de configurer votre pare-feu pour autoriser le trafic sur ces ports et garantir que votre instance GitLab est accessible.

Suivez ces étapes pour configurer le pare-feu :

Tout d'abord, installez le pare-feu UFW, car il n'est pas installé par défaut sur Debian, avec la commande suivante :

sudo apt install ufw

Ensuite, une fois l'installation terminée, activez le pare-feu UFW avec la commande suivante :

sudo ufw enable

Ouvrez le fichier de configuration du pare-feu à l'aide d'un éditeur de texte :

sudo nano /etc/ufw/applications.d/gitlab

Copiez et collez les lignes suivantes dans le fichier :

[GitLab]
title=GitLab
description=GitLab application
ports=80,443/tcp

Enregistrez le fichier et quittez l'éditeur de texte.

Activez l'application GitLab dans le pare-feu :

sudo ufw app update GitLab
sudo ufw allow GitLab

Configurer les paramètres de messagerie

GitLab utilise des notifications par e-mail pour informer les utilisateurs des activités du projet, telles que les nouveaux problèmes, les demandes de fusion et les commentaires.

Suivez ces étapes pour configurer les paramètres de messagerie :

Ouvrez le fichier de configuration GitLab à l'aide d'un éditeur de texte :

sudo nano /etc/gitlab/gitlab.rb

Localisez le paramètre gitlab_rails['smtp_enable'] et définissez-le sur true :

gitlab_rails['smtp_enable'] = true

Ajoutez les lignes suivantes au fichier pour configurer les paramètres du serveur SMTP de votre fournisseur de messagerie, tel que Gmail :

gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "example@gmail.com"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Enregistrez le fichier et quittez l'éditeur de texte.

Reconfigurez GitLab pour appliquer les modifications :

sudo gitlab-ctl reconfigure

Il est important de noter qu'après avoir exécuté la commande « gitlab-ctl reconfigure », vous remarquerez peut-être que la sortie du terminal se termine par le message suivant :

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

Pour afficher le mot de passe root (GitLab), exécutez la commande suivante dans votre terminal :

sudo cat /etc/gitlab/initial_root_password

L'exécution de cette commande affichera le mot de passe root dans le terminal. Il est crucial de conserver ce mot de passe en sécurité et de ne pas le partager avec des utilisateurs non autorisés.

Si vous devez réinitialiser le mot de passe root, vous pouvez utiliser la commande suivante :

sudo gitlab-rake "gitlab:password:reset[root]"

Après avoir exécuté cette commande, le mot de passe root sera réinitialisé avec une chaîne aléatoire affichée dans la sortie du terminal. Il est essentiel de se rappeler que la réinitialisation du mot de passe root invalidera tous les jetons d'accès existants et personnels, les utilisateurs doivent donc en créer de nouveaux après avoir réinitialisé le mot de passe.

Pour des raisons de sécurité, il est recommandé de remplacer le mot de passe root par un mot de passe fort et unique dès que possible après la configuration initiale et d'éviter d'utiliser le mot de passe par défaut. Vous pouvez modifier le mot de passe root en vous connectant à l'interface Web de GitLab, en allant dans « Paramètres utilisateur » > « Compte » et en sélectionnant l'option « Modifier le mot de passe ».

Accéder à l'interface utilisateur de GitLab

Une fois la configuration du backend terminée, il est temps de vous connecter et d'accéder à GitLab. Pour y parvenir, ouvrez le chemin de domaine attribué à GitLab dans le fichier de configuration.

https://gitlab.example.com

Ensuite, connectez-vous à GitLab en utilisant le nom d'utilisateur « root » et le mot de passe que vous avez reçu lors de l'installation. Comme mentionné dans l'impression du mot de passe de la section précédente, le mot de passe du guide était « 4zB2mbBLCcRLRAkv3qHfmSZULJ/6ocJNe2XK8zNx9nU = » dans l'image.

Vous vous êtes connecté avec succès en tant que compte root et arriverez à la page de destination par défaut.

Conseils supplémentaires

Vous trouverez ci-dessous quelques recommandations pour la sécurisation, la personnalisation ou tout autre conseil général pour la première fois lorsque vous vous connectez pour la première fois à l'interface utilisateur de GitLab :

  • Changez le mot de passe par défaut : Pour améliorer la sécurité de votre instance GitLab, il est crucial de modifier le mot de passe par défaut de l'utilisateur root. Connectez-vous à GitLab en utilisant le nom d'utilisateur et le mot de passe par défaut, accédez à « Paramètres utilisateur » > « Mot de passe » et entrez votre nouveau mot de passe.
  • Configurez l'authentification à deux facteurs (2FA) : L'ajout d'un facteur d'authentification, tel qu'un code envoyé à votre téléphone ou généré par une application, au processus de connexion constitue une couche de sécurité supplémentaire fournie par 2FA. Pour activer 2FA dans GitLab, accédez à « Paramètres utilisateur » > « Compte » > « Authentification à deux facteurs » et suivez les instructions.
  • Créer un projet : Pour créer un nouveau projet dans GitLab, allez sur la page « Projets » et cliquez sur le bouton « Nouveau projet ». Vous pouvez créer un projet vide ou importer un projet existant à partir d'un référentiel Git.
  • Personnalisez l'interface utilisateur : GitLab permet plusieurs options de personnalisation, telles que changer le thème, ajouter un logo personnalisé et configurer la barre de navigation. Accédez à « Zone d’administration » > « Paramètres » et sélectionnez les options appropriées pour personnaliser l’interface utilisateur.
  • Configurer le contrôle d'accès : Les puissantes fonctionnalités de contrôle d'accès de GitLab vous permettent de contrôler qui peut accéder à vos projets et ce qu'ils peuvent faire. Accédez à « Paramètres du projet » > « Membres » et ajoutez ou supprimez des membres avec différents niveaux d'accès pour configurer le contrôle d'accès.
  • Utilisez GitLab CI/CD : Les puissantes fonctionnalités CI/CD de GitLab automatisent les tests et le déploiement de votre code. Configurez les pipelines CI/CD en créant un fichier « .gitlab-ci.yml » dans le répertoire racine de votre projet et en définissant les étapes et les tâches de votre pipeline.
  • Configurez GitLab Runner : GitLab Runner est un agent léger qui exécute des tâches CI/CD et renvoie les résultats à GitLab. Suivez les instructions de la documentation GitLab pour installer et configurer GitLab Runner sur votre système Debian.
  • Sauvegardez votre instance GitLab : Sauvegardez régulièrement votre instance GitLab pour éviter la perte de données en cas de panne matérielle ou d'autres catastrophes. Exécutez la commande « gitlab-rake gitlab:backup:create » dans votre terminal pour sauvegarder votre instance GitLab.

Créer un travail Cron pour la sauvegarde automatique de GitLab

La configuration d'une tâche cron pour la sauvegarde automatique de GitLab sur Debian est essentielle pour garantir la sûreté et la sécurité de vos données. Une tâche cron est une tâche planifiée qui s'exécute automatiquement à des intervalles spécifiques pour effectuer une sauvegarde de votre instance GitLab. Suivez ces étapes pour créer une tâche cron pour la sauvegarde automatique de GitLab sur Debian.

Créer un script de sauvegarde Gitlab

La première étape consiste à créer un script de sauvegarde pour effectuer la sauvegarde de votre instance GitLab. Suivez ces étapes:

À l'aide d'un éditeur de texte, créez un nouveau fichier pour votre script de sauvegarde. Voici un exemple :

sudo nano /usr/local/bin/gitlab-backup.sh

Collez le code suivant dans le fichier :

#!/bin/bash

BACKUP_DIR=/var/opt/gitlab/backups
TIMESTAMP=$(date +%s)

sudo gitlab-rake gitlab:backup:create

sudo cp ${BACKUP_DIR}/$(ls -t ${BACKUP_DIR} | head -1) ${BACKUP_DIR}/gitlab_backup_${TIMESTAMP}.tar
  • Enregistrez le fichier et quittez l'éditeur de texte.

Ce script va générer une sauvegarde de votre instance GitLab en exécutant la commande gitlab-rake gitlab:backup:create. Après avoir créé la sauvegarde, il dupliquera la dernière sauvegarde dans un nouveau fichier avec un horodatage dans le nom du fichier.

Définition des autorisations et de la propriété

L'étape suivante consiste à établir les autorisations et la propriété appropriées pour le script de sauvegarde afin de garantir que la tâche cron peut l'exécuter. Suivez ces étapes:

Définissez le propriétaire du script de sauvegarde sur l'utilisateur associé à GitLab :

sudo chown git:git /usr/local/bin/gitlab-backup.sh

Définissez les autorisations du script de sauvegarde pour activer l'exécution :

sudo chmod +x /usr/local/bin/gitlab-backup.sh

Créer une tâche Cron

L'étape suivante consiste à créer une tâche cron pour planifier l'exécution régulière du script de sauvegarde. Suivez ces étapes :

Pour ouvrir le fichier de configuration crontab pour l'utilisateur GitLab, procédez comme suit :

sudo crontab -u git -e

Pour planifier l'exécution du script de sauvegarde tous les jours à 1h00 du matin, ajoutez la ligne suivante au fichier de configuration crontab pour l'utilisateur GitLab :

0 1 * * * /path/to/backup/script.sh

Enregistrez le fichier et quittez l'éditeur de texte.

Cette tâche cron exécutera automatiquement le script de sauvegarde tous les jours à 1h00 du matin, ce qui générera un nouveau fichier de sauvegarde avec un horodatage dans le nom du fichier.

Tester le travail Cron

Vous pouvez vérifier correctement les fonctions cronjob en exécutant manuellement le script de sauvegarde et en vous assurant que le fichier de sauvegarde est généré sans erreurs. Pour effectuer ce test, saisissez la commande suivante dans votre terminal :

sudo /usr/local/bin/gitlab-backup.sh

Cette commande générera un nouveau fichier de sauvegarde dans le répertoire «/var/opt/gitlab/backups». Le nom du fichier inclura un horodatage pour indiquer quand la sauvegarde a été créée.

Commandes du terminal GitLab

GitLab-ctl est un outil en ligne de commande pour gérer GitLab sur Debian. Il fournit un ensemble de commandes de terminal pour démarrer, arrêter, redémarrer et gérer les services GitLab, entre autres. Voici une section détaillée sur les commandes du terminal GitLab-ctl, ainsi que des exemples de commandes et de sorties avec des explications.

Démarrage et arrêt des services GitLab

Pour démarrer et arrêter les services GitLab, utilisez les commandes suivantes :

Démarrez tous les services GitLab :

sudo gitlab-ctl start

Arrêtez tous les services GitLab :

sudo gitlab-ctl stop

Redémarrez tous les services GitLab :

sudo gitlab-ctl restart

Recharger les services GitLab :

sudo gitlab-ctl reload

Ces commandes démarreront, arrêteront, redémarreront ou rechargeront tous les services GitLab. La sortie indiquera quels services sont démarrés ou arrêtés et si l'opération a réussi.

Vérifier l'état des services GitLab

Pour vérifier l'état des services GitLab, utilisez la commande suivante :

sudo gitlab-ctl status

Ces commandes démarreront, arrêteront, redémarreront ou rechargeront tous les services GitLab. Après avoir exécuté la commande, la sortie indiquera quels services sont concernés et si l'opération a réussi.

Sauvegarde et restauration des données GitLab

Vous pouvez créer une sauvegarde des données GitLab à l'aide de la commande suivante :

Créez une sauvegarde des données GitLab :

sudo gitlab-rake gitlab:backup:create

La commande fournie créera un fichier de sauvegarde contenant toutes les données GitLab, telles que les référentiels, les données utilisateur et les fichiers de configuration. Le fichier de sauvegarde sera stocké dans le répertoire : « /var/opt/gitlab/backups ».

Restaurez une sauvegarde des données GitLab :

sudo gitlab-rake gitlab:backup:restore BACKUP=<backup_file>

À l'aide de cette commande, vous pouvez restaurer une sauvegarde des données GitLab à partir d'un fichier de sauvegarde spécifique. Le fichier de sauvegarde doit être dans le répertoire « var/opt/gitlab/backups », ou vous pouvez indiquer le chemin complet du fichier de sauvegarde.

Vérification de la configuration de GitLab

Vous pouvez utiliser la commande suivante pour vérifier la configuration de GitLab :

sudo gitlab-rake gitlab:check

Cette commande peut rechercher des erreurs ou des avertissements dans la configuration de GitLab, notamment des versions obsolètes, des dépendances manquantes et des paramètres mal configurés. La sortie résumera les résultats de l’analyse et des informations détaillées sur tout problème détecté.

Vérification des journaux GitLab

Voici comment vérifier les journaux GitLab à l'aide des commandes suivantes :

Consultez les journaux GitLab :

sudo gitlab-ctl tail gitlab-rails/production.log

Vous pouvez utiliser la commande suivante pour afficher les dix dernières lignes du journal de production GitLab, qui détaille les actions de l'utilisateur, les avertissements et les erreurs.

Consultez les journaux GitLab NGINX :

sudo gitlab-ctl tail nginx/gitlab_access.log

Cette commande affichera les dix dernières lignes du journal d'accès GitLab NGINX qui contient des détails concernant les requêtes et les réponses HTTP.

Consultez les journaux GitLab PostgreSQL :

sudo gitlab-ctl tail postgresql/current

Cette commande affichera les dix dernières lignes du journal GitLab PostgreSQL, qui contient des informations sur les requêtes et les transactions de base de données.

Conclusion

Avec GitLab CE installé avec succès sur votre système Debian à l'aide du script d'installation officiel, vous pouvez profiter pleinement de ses puissantes fonctionnalités DevOps. Cette méthode garantit que vous disposez de la dernière version et d’un accès facile aux mises à jour. Entretenez et mettez à jour régulièrement votre instance GitLab pour bénéficier des dernières fonctionnalités et améliorations de sécurité. Profitez de l'intégration transparente et des outils collaboratifs proposés par GitLab CE pour vos projets de développement.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire