Gitlab sur un serveur Cloud

Testez-le maintenant pour 1 euro seulement !
Vous avez de grands projets d’hébergement avec beaucoup de ressources ? Avec le CloudServer (VPS) de hosting.fr, ce n’est pas un problème. Grâce à notre vaste gamme d’outils d’hébergement, vous bénéficiez d’une liberté absolue. Bien entendu, vous pouvez choisir librement le système d’exploitation en appuyant sur un bouton.
Réserver un serveur cloud maintenant

Introduction

Gitlab peut servir de serveur central pour le système de gestion de versions git. En outre, il offre aux équipes des fonctionnalités pour la gestion de projets logiciels, telles qu’un système de billetterie intégré et des fonctionnalités pour l’intégration continue ainsi que la livraison continue. Gitlab est comparable à github.com, mais avec la différence qu’il peut être installé sur un serveur privé et que l’on a ici un contrôle total en tant qu’administrateur. Étant donné qu’il est proposé en logiciel open source, des adaptations spécifiques à Gitlab seraient théoriquement possibles.

Le logiciel comprend essentiellement une interface web, mais inclut également un serveur SSH intégré par lequel les clients git peuvent accéder aux dépôts sur le serveur. Développé en Ruby, Go et Vue.js, Gitlab ne peut pas être installé sur un espace web, mais fonctionne sur les distributions Linux courantes, rendant son utilisation sur un serveur Cloud possible.

Gitlab est fourni par la société Gitlab, Inc dont le siège est à San Francisco, et cela en deux variantes. Une édition communautaire “Gitlab CE” est disponible sous une licence Open Source MIT et peut être utilisée gratuitement. Si des fonctionnalités supplémentaires, non incluses dans “Gitlab CE”, sont nécessaires, on peut se tourner vers l’édition payante “Gitlab EE”.

Prérequis

Connaissances

Ce guide s’adresse à des personnes ayant des connaissances de base en Linux, familiarisées avec l’exploitation de serveurs Linux. Vous devriez être capable de gérer la ligne de commande Linux et savoir comment vous connecter à votre serveur Cloud via SSH.

Matériel

Gitlab fonctionne avec 4 Go de mémoire RAM, mais un minimum de 8 Go est recommandé. Il est également recommandé d’avoir au moins deux cœurs de CPU à disposition. Dans cette configuration, il y a suffisamment de ressources pour environ 100 utilisateurs. La taille de l’espace disque dépend de la taille des dépôts git qui doivent être stockés sur le serveur. Pour plus de détails sur les prérequis pour Gitlab, veuillez consulter cette page.

Si des sauvegardes de Gitlab doivent être effectuées sur le serveur lui-même, plus d’espace de stockage sera nécessaire.

Système d’exploitation

Ce guide montre l’installation sur un serveur Cloud nouvellement configuré avec Debian 10 “Buster”. Gitlab prend en charge d’autres distributions Linux. Un aperçu de tout cela se trouve sur cette page.

Domaine

Pour le serveur Gitlab, vous devriez créer un domaine ou un sous-domaine propre, comme par exemple git.domaine-mustermann.fr.

Installation

Il existe plusieurs méthodes pour installer Gitlab sur un système Debian. Nous utilisons ici le paquet “Omnibus Gitlab”. Il permet l’installation des différents composants de Gitlab sous une forme groupée et évite de grandes configurations complexes.

Veuillez vous connecter par SSH en tant qu’utilisateur root sur votre serveur Cloud :

ssh root@git.domaine-mustermann.fr

et installez les dépendances nécessaires avec les commandes suivantes :

apt-get update
apt-get install -y curl sudo ca-certificates

Veuillez ajouter le dépôt de Gitlab et l’installer avec la commande suivante :

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

Ensuite, installez le paquet gitlab-ce pour l’édition communautaire :

apt install gitlab-ce

Après l’installation du paquet, le message suivant devrait apparaître sur l’écran :

       
       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Merci d'avoir installé GitLab !
GitLab n'a pas pu détecter un nom d'hôte valide pour votre instance.
Veuillez configurer une URL pour votre instance GitLab en définissant le paramètre `external_url`
dans le fichier /etc/gitlab/gitlab.rb.
Ensuite, vous pouvez démarrer votre instance GitLab en exécutant la commande suivante :
  sudo gitlab-ctl reconfigure

Pour une liste complète des options de configuration, veuillez consulter le readme d'Omnibus GitLab
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Configuration

Après une installation réussie, quelques éléments doivent encore être configurés avant que Gitlab puisse être utilisé.

Veuillez ouvrir le fichier /etc/gitlab/gitlab.rb avec un éditeur de texte, tel que nano ou vim (pour les utilisateurs avancés) sur le serveur :

nano /etc/gitlab/gitlab.rb

Configuration d’une URL correcte

Veuillez définir le paramètre external_url sur l’URL du serveur, par exemple sur https://git.domaine-mustermann.fr. Veuillez vous assurer d’utiliser https:// au lieu de http:// pour une connexion sécurisée au serveur. Gitlab génère et utilise automatiquement un certificat SSL/TLS de “Let’s encrypt”.

## URL GitLab
##! URL à laquelle GitLab sera accessible.
##! Pour plus de détails sur la configuration de external_url, voyez :
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url 'http://git.domaine-mustermann.fr'

Veuillez exécuter ensuite la commande suivante pour activer la nouvelle configuration :

sudo gitlab-ctl reconfigure

L’opération prendra un certain temps. Après de nombreux messages, le message “gitlab reconfiguré !” devrait apparaître.

Configuration d’un serveur de messagerie pour les e-mails sortants (optionnel)

Dans le fichier /etc/gitlab/gitlab.rb, vous pouvez saisir les informations d’identification pour un serveur de messagerie externe, si l’envoi ne doit pas se faire directement via le serveur Gitlab. Les paramètres pourraient ressembler par exemple aux suivants :

### Paramètres du serveur de messagerie GitLab
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html
###! **Utilisez smtp au lieu de sendmail/postfix.**

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "mail.domaine-mustermann.fr"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@domaine-mustermann.fr"
gitlab_rails['smtp_password'] = "motdepassealéatoire"
gitlab_rails['smtp_domain'] = "domaine-mustermann.fr"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

De plus, l’adresse de l’expéditeur peut également être spécifiée :

### Paramètres des e-mails
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@domaine-mustermann.fr'

Veuillez ensuite activer la nouvelle configuration :

sudo gitlab-ctl reconfigure

Vous pouvez tester l’envoi d’e-mails en utilisant plus tard par exemple la fonction “Mot de passe oublié” de votre compte utilisateur.

Configuration du compte utilisateur administrateur

Veuillez maintenant accéder à la page dans votre navigateur via l’URL de l’instance Gitlab. Vous pourrez y définir le mot de passe administrateur :

Configuration de Gitlab

Connectez-vous ensuite avec le nom d’utilisateur “root” et le mot de passe que vous avez défini :

Configuration de Gitlab

Après connexion, Gitlab se présente comme suit :

Configuration de Gitlab

Comme votre nom n’est probablement pas “root”, il est utile de changer votre nom d’utilisateur. Cela se fait dans vos paramètres de compte. Veuillez y accéder via le menu déroulant dans le coin supérieur droit de la page :

Configuration de Gitlab

Sur la page suivante, vous pouvez, par exemple, changer votre nom affiché et votre adresse e-mail.

Configuration de Gitlab

Ensuite, cliquez dans le menu à gauche sur “Compte”, vous pourrez alors changer votre nom d’utilisateur sur la page suivante :

Configuration de Gitlab

La langue de l’interface peut être changée en allemand dans “Préférences” pour le compte utilisateur individuel :

Configuration de Gitlab

Sous “Clés SSH”, vous pouvez ajouter une clé SSH publique pour accéder à Gitlab avec git :

Configuration de Gitlab

Désactiver l’enregistrement public

Gitlab permet généralement à quiconque de créer un nouveau compte utilisateur sur l’instance via l’interface Web. Il est conseillé de désactiver ou de restreindre cette fonctionnalité. Pour ce faire, veuillez accéder à la zone “Admin” :

Configuration de Gitlab

Cliquez ensuite sur “Paramètres” > “Général” et dépliez les paramètres sous “Restrictions d’enregistrement” :

Configuration de Gitlab

Veuillez enlever la coche à “Inscription autorisée”. Au lieu de désactiver l’enregistrement, vous pouvez également, par exemple, autoriser uniquement les utilisateurs ayant une adresse e-mail du domaine de votre entreprise à s’inscrire.

Création de comptes utilisateurs

De nouveaux comptes utilisateurs peuvent être créés dans la zone “Admin”. Cliquez là-dessus sur “Vue d’ensemble” > “Utilisateurs” :

Configuration de Gitlab

Pour ajouter un nouvel utilisateur, cliquez là-dessus sur “Nouvelle(l) Utilisateur(trice)”.

Configuration de Gitlab

Les utilisateurs nouvellement créés reçoivent automatiquement un lien d’invitation par e-mail pour définir leur mot de passe.

Sauvegardes

Comme le serveur Gitlab contient généralement des données critiques pour l’entreprise, des sauvegardes régulières doivent être effectuées. Gitlab inclut un outil de sauvegarde dans l’installation Omnibus, qui sécurise toutes les données importantes de l’installation. Pour cela, les dépendances nécessaires doivent d’abord être installées :

apt update
apt install tar rsync

Ensuite, une sauvegarde peut être créée sur le serveur même avec la commande :

gitlab-backup create

Les sauvegardes sont stockées dans le répertoire /var/opt/gitlab/backups/ sous forme d’archives tar. Veuillez copier les fichiers de là à un endroit sécurisé en dehors du serveur.

La sauvegarde ne contient pas la configuration de l’installation de Gitlab. Toutefois, elle contient des clés cryptographiques importantes. Par conséquent, la configuration doit être sauvegardée séparément. Veuillez copier le répertoire

/etc/gitlab

à un endroit sûr en dehors du serveur.

Pour plus d’informations sur les sauvegardes et la restauration de Gitlab, vous pouvez consulter la documentation de Gitlab.

Mises à jour et entretien

Gitlab reçoit continuellement de nouvelles fonctionnalités et, comme dans tout autre logiciel, des erreurs et des failles de sécurité peuvent être survenues durant le processus de développement, qui ne peuvent être corrigées que par l’installation régulière de mises à jour. Puisque Gitlab a été installé via le gestionnaire de paquets Debian, les mises à jour pour l’installation Omnibus de Gitlab seront automatiquement appliquées lors de la mise à jour du système d’exploitation avec

apt update
apt upgrade

Autres fonctionnalités

Mattermost

L’installation de Gitlab inclut directement le service de messagerie instantanée web pour les entreprises “Mattermost”. Comment configurer Mattermost facilement est décrit dans la documentation de Gitlab.

Large File Storage (LFS)

L’extension Large File Storage" (LFS) pour git permet de gérer également de grands fichiers de manière économiquement dans git. Git LFS ne stocke pas tout l’historique des versions sur l’ordinateur client, mais sur le serveur, c’est pourquoi Gitlab doit soutenir cette fonctionnalité. Comment activer LFS dans Gitlab est décrit ici.

Intégration continue, livraison continue et déploiement continu

“L’intégration continue” (CI) est une méthode dans le développement logiciel où de petits changements d’un logiciel sont testés automatiquement et isolément pendant le processus de développement et ne sont ajoutés à la base de code qu’après un test réussi.

“La livraison continue” et “le déploiement continu” (CD) permettent l’installation semi-automatique ou entièrement automatisée du logiciel développé sur les systèmes cibles.

Gitlab propose de nombreuses fonctionnalités pour la CI et le CD. Vous pouvez trouver plus d’informations à ce sujet dans la documentation de Gitlab.

Conclusion

Ce tutoriel a montré comment installer Gitlab sur un serveur Cloud et comment le configurer de manière basique. Il a également montré comment assurer un fonctionnement sécurisé grâce à l’installation de mises à jour et à la création de sauvegardes à long terme.

Références

N'hésitez pas à vous inscrire à notre newsletter



Nous vous remercions de votre inscription à la newsletter hosting.fr.
Détails du contrat Gitlab Guide d'installation Serveur Cloud