GitLab est un gestionnaire de référentiel open source basé sur Rails développé par GitLab Inc. Il s'agit d'un gestionnaire de référentiel git basé sur le Web qui permet à votre équipe de collaborer sur le codage, le test et le déploiement d'applications. GitLab fournit plusieurs fonctionnalités, notamment des wikis, le suivi des problèmes, des révisions de code et des flux d'activités.
GitLab Inc propose 4 produits :
- Gitlab CE (Community Edition) - auto-hébergé et gratuit ; l'assistance du forum de la communauté.
- Gitlab EE (Enterprise Edition) – auto-hébergé et payant ; est livré avec des fonctionnalités supplémentaires.
- GitLab.com – SaaS et gratuit.
- GitLab.io - Instance GitLab privée gérée par GitLab Inc.
Dans ce tutoriel, nous allons vous montrer comment installer le GitLab CE sur le serveur CentOS 8. Nous allons installer GitLab CE à l'aide du package "omnibus" fourni par GitLab, effectuer une configuration de base de GitLab et tester pour créer un nouveau projet GitLab.
Prérequis
Pour ce guide, nous allons installer GitLab CE sur la dernière version du serveur CentOS 8 avec 4 Go de RAM, 30 Go d'espace disque libre et 2 processeurs.
Qu'allons-nous faire ?
- Installer les dépendances des packages
- Ajouter un référentiel et installer GitLab CE (Community Edition)
- Générer un certificat SSL Letsencrypt et DHPARAM
- Activer Nginx HTTPS pour GitLab
- Configurer le pare-feu
- Post-installation de GitLab
- Test
Étape 1 - Installer les dépendances des packages
Tout d'abord, nous allons installer certaines dépendances de packages nécessaires à GitLab, notamment les packages OpenSSH et Postfix.
Installez les dépendances des packages pour GitLab CE à l'aide de la commande dnf ci-dessous.
sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix
Une fois l'installation terminée, démarrez les services SSH et Postfix.
systemctl start sshd
systemctl start postfix
Ensuite, ajoutez les deux services au démarrage du système.
systemctl enable sshd
systemctl enable postfix
En conséquence, l'installation des dépendances des packages est terminée.
Étape 2 - Ajouter un référentiel et installer GitLab
Dans cette étape, nous ajouterons le référentiel officiel GitLab à notre système CentOS 8 et installerons les packages GitLab CE.
Ajoutez le référentiel GitLab à l'aide du script d'installation ci-dessous.
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Une fois que tout est terminé, voici le résultat que vous obtiendrez.
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
Userid : "GitLab B.V. (package repository signing key) <[email protected]>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
Userid : "GitLab, Inc. <[email protected]>"
Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...
The repository is setup! You can now install packages.
Pour vérifier le référentiel GitLab, exécutez la commande dnf ci-dessous.
sudo dnf repolist
Et vous obtiendrez le référentiel GitLab sur la liste.
Ensuite, installez les packages GitLab CE à l'aide de la commande
sudo dnf install gitlab-ce -y
Une fois l'installation terminée, vous obtiendrez le résultat ci-dessous.
En conséquence, GitLab CE Community Edition est maintenant installé sur le système CentOS 8.
Étape 3 - Générer SSL Letsencrypt et DHPARAM
Pour ce tutoriel, nous exécuterons le GitLab sur la connexion HTTPS sécurisée, et nous utiliserons le SSL Letsencrypt de Letsencrypt et DHAPRAM qui peut être généré à l'aide de la commande openssl.
Dans cette étape, nous allons générer le SSL Letsencrypt à l'aide de l'outil de ligne de commande certbot, qui peut être installé à partir du référentiel EPEL, puis générer le certificat DHPARAM à l'aide de l'openssl.
Ajoutez le référentiel EPEL au système CentOS 8 à l'aide de la commande ci-dessous.
sudo dnf install epel-release
Ensuite, installez les packages certbot à l'aide de la commande dnf ci-dessous.
sudo dnf install certbot
Une fois l'installation terminée, générez le SSL Letsencryp pour GitLab à l'aide de la commande certbot ci-dessous.
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d gitlab.hakase-labs.io
Maintenant, vos certificats SSL seront disponibles dans le répertoire '/etc/letsencrypt/live/gitlab.hakase-labs.io', vérifiez à l'aide de la commande suivante.
ls -lah /etc/letsencrypt/live/gitlab.hakase-labs.io/
Vous obtiendrez les certificats 'fullchain.pem' et 'privkey.pem'.
Ensuite, générez le certificat DHPARAM dans le répertoire '/etc/gitlab' à l'aide de la commande openssl ci-dessous.
sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048
Une fois que tout est terminé, changez l'autorisation du certificat 'dhparam.pem' en '0600'.
sudo chmod 600 /etc/gitlab/dhparams.pem
En conséquence, les certificats SSL Letsencrypt et DHPARAM pour GitLab ont été générés.
Étape 4 - Configurer le nom de domaine Activer Nginx HTTPS pour GitLab
Dans cette étape, nous allons configurer le nom de domaine et activer la connexion sécurisée Nginx HTTPS pour GitLab.
Allez dans le répertoire '/etc/gitlab' et éditez la configuration 'gitlab.rb'.
cd /etc/gitlab/
vim gitlab.rb
Sur la ligne 'external_url', changez le nom de domaine par défaut avec le vôtre et changez le protocole http en https comme ci-dessous.
external_url 'https://gitlab.hakase-labs.io'
Ensuite, ajoutez la configuration suivante après la ligne 'external_url' et assurez-vous de remplacer le certificat SSL et DHPARAM par le vôtre.
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"
Enregistrez et fermez.
Ensuite, exécutez la commande suivante pour reconfigurer le GitLab et appliquer la nouvelle configuration.
sudo gitlab-ctl reconfigure
La commande invoquera le script Chef qui a alimenté l'Omnibus GitLab pour reconfigurer votre installation GitLab.
Une fois que tout est terminé, passez à l'étape suivante.
Étape 5 - Configurer Firewalld
Après avoir activé le HTTPS sur GitLab, nous ajouterons les services HTTP et HTTPS au pare-feu.
Exécutez la commande firewall-cmd ci-dessous.
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Après cela, rechargez le service firewalld pour appliquer une nouvelle configuration.
firewall-cmd --reload
Vérifiez maintenant tous les services sur firewalld en utilisant la commande ci-dessous.
firewall-cmd --list-services
Vous obtiendrez maintenant les services SSH, HTTP et HTTPS sur la liste.
En conséquence, vous avez ajouté les services HTTP et HTTPS au pare-feu et le GitLab est maintenant prêt et accessible.
Étape 6 - Post-installation de GitLab
Ouvrez votre navigateur Web et saisissez votre installation de nom de domaine GitLab dans la barre d'adresse. Le mien est : https://gitlab.hakase-labs.io/, utilisez votre adresse.
Et vous serez redirigé vers la page de réinitialisation du mot de passe.
- GitLab Réinitialiser le mot de passe par défaut
Tapez le nouveau mot de passe pour l'utilisateur GitLab par défaut 'root '.
Cliquez maintenant sur 'Modifier votre mot de passe ' et vous serez redirigé vers la page de connexion GitLab.
Tapez l'utilisateur par défaut 'root ' et votre mot de passe, puis cliquez sur 'Connexion ', et vous obtiendrez le tableau de bord GitLab comme ci-dessous.
Modifier le profil et le nom d'utilisateur
Après vous être connecté au tableau de bord GitLab, modifiez la valeur par défaut 'root ' utilisateur par le vôtre.
Pour modifier les paramètres de votre profil, cliquez en haut à droite de votre icône de profil, puis cliquez sur 'Paramètres ' pour configurer votre profil.
Tapez maintenant votre nouveau nom d'utilisateur et votre nouvelle adresse e-mail, puis faites défiler jusqu'à la page du bas et cliquez sur 'mettre à jour les paramètres du profil ' bouton.
Ensuite, cliquez sur le 'Compte ', modifiez le nom d'utilisateur par défaut 'root ' par le vôtre, puis cliquez sur 'mettre à jour le nom d'utilisateur ' bouton.
Par conséquent, le nom d'utilisateur et l'adresse e-mail par défaut de l'utilisateur racine ont été modifiés.
Ajouter une clé SSH
Nous allons maintenant ajouter la clé SSH au GitLab. Assurez-vous d'avoir la clé SSH, et si vous ne l'avez pas, vous pouvez générer la clé SSH en utilisant la commande suivante.
ssh-keygen
Maintenant, vous obtiendrez votre clé SSH générée au '~/.ssh ', dans le répertoire personnel de l'utilisateur.
Ensuite, revenez au tableau de bord GitLab et cliquez sur le menu de l'onglet "Clés SSH".
Copiez le contenu de votre clé publique SSH '~/.ssh/id_rsa.pub ' et collez-le sur la page GitLab, puis cliquez sur 'Ajouter une clé ' bouton.
En conséquence, la clé SSH a été ajoutée à GitLab.
Configurer la limite de projet par compte
Dans le menu central supérieur, cliquez sur 'Paramètres ' bouton.
Cliquez maintenant sur 'Paramètres'> 'Général ', dans la section 'Compte et limite', cliquez sur 'Développer '.
Modifier la "Limite de projets par défaut " selon vos besoins et cliquez sur 'Enregistrer ' bouton.
Par conséquent, la limite de projet par défaut pour chaque compte a été modifiée.
Étape 7 - Créer un nouveau projet et valider
Dans cette étape, nous allons tester notre installation GitLab en créant un nouveau projet GitLab.
Créer un nouveau projet GitLab
Pour créer un nouveau projet sur GitLab, cliquez sur le '+ ' plug bouton dans le menu en haut à droite.
Tapez maintenant les détails de votre projet, du nom du projet et de la description, puis cliquez sur 'Créer un projet ' bouton.
Et le nouveau projet GitLab a été créé.
Configurer GitLab sur votre ordinateur portable
Après avoir créé un nouveau projet sur GitLab, nous allons configurer le compte GitLab sur l'ordinateur local.
Ouvrez votre terminal et exécutez la commande git suivante pour configurer l'utilisateur et l'adresse e-mail par défaut pour git.
git config --global user.name "hakase"
git config --global user.email "[email protected]"
Ensuite, clonez votre projet GitLab dans le répertoire de votre ordinateur local et accédez-y.
git clone https://gitlab.hakase-labs.io/hakase/test-project.git
cd test-project/
En conséquence, l'utilisateur et l'e-mail par défaut pour Git ont été configurés et le projet GitLab a été cloné sur l'ordinateur local.
Effectuer une modification et la valider
Nous avons maintenant le projet GitLab sur notre ordinateur local, et nous allons tester pour modifier le fichier 'README.md' et effectuer le premier commit sur notre projet GitLab.
Modifiez le fichier 'README.md' à l'aide de votre éditeur.
vim README.md
Effectuez maintenant une modification sur le fichier, puis enregistrez et fermez.
Après cela, ajoutez la nouvelle version du fichier 'README.md' et validez' en utilisant la commande ci-dessous.
git add .
git commit -m "Change README.md"
Poussez maintenant les nouvelles modifications vers le référentiel GitLab à l'aide de la commande git push ci-dessous.
git push origin master
Les nouvelles modifications du fichier 'README.md' ont été poussées vers le référentiel GitLab.
Ensuite, revenez à votre référentiel GitLab sur votre navigateur Web et vous obtiendrez la nouvelle version du fichier 'README.md' avec le commentaire de validation en haut.
En conséquence, nous avons réussi à créer un nouveau projet GitLab et à y apporter des modifications.
Enfin, l'installation et la configuration de GitLab sur le serveur CentOS 8 ont été effectuées avec succès.