Comment configurer un serveur Gitlab personnel
Si vous avez besoin d'un contrôle de version pour vos projets, vous voulez l'héberger vous-même, mais vous ne voulez pas utiliser de barebones git
, vous pouvez configurer un serveur Gitlab pour stocker tout votre code tout en offrant un accès facile via une interface Web.
Gitlab est comme votre propre Github hébergé
Gitlab est un service git hébergé qui fonctionne un peu comme Github, avec un panneau Web interactif pour gérer vos projets et afficher le code. Si vous voulez juste une alternative à Github, vous pouvez utiliser leur service en ligne gratuit, sans rien configurer vous-même.
Contrairement à Github, l'édition communautaire de Gitlab est open source et gratuite pour vous d'héberger sur votre propre serveur privé. Il n'y a pas de limites sur la taille ou le nombre de projets, ce qui rend cette solution idéale pour les personnes ayant de gros fichiers binaires trop volumineux pour la limite de 100 Mo de Github.
Évidemment, cela vous oblige à payer pour le serveur et l'espace de stockage pour l'hébergement de vos fichiers. Si vous avez déjà un serveur, vous pouvez installer Gitlab en même temps que vos autres processus, mais il est assez gourmand en ressources: Gitlab recommande 4 Go de RAM, et lors de nos tests, il a utilisé environ 2,8 Go. Il peut être possible de s'en tirer avec moins, mais vous pouvez rencontrer des ralentissements lorsque vous poussez du code. En ce qui concerne l'utilisation du processeur, Gitlab est resté inférieur à environ 10% d'utilisation lors de nos tests lors de l'envoi et du retrait de grands projets.
Une chose à noter est que si vous l'exécutez vous-même, ce n'est pas une sauvegarde à 100%. Si votre instance est terminée, vos données peuvent être perdues. Vraiment, git
lui-même ne doit pas être utilisé comme outil de sauvegarde, bien qu'il puisse être utilisé comme tel avec des services comme Github.
Comment installer
Vous devez d'abord vous assurer que les dépendances pour HTTPS sont installées – openssh-server
et ca-certificates
. Ils le sont probablement déjà, mais s'ils ne le sont pas, vous voudrez les récupérer dans le gestionnaire de paquets de votre distribution. Pour les systèmes basés sur Debian comme Ubuntu, ce serait:
sudo apt-get install -y curl openssh-server ca-certificates
Vous voudrez également que Postfix soit installé et configuré pour que Gitlab puisse vous envoyer des e-mails:
sudo apt-get install -y postfix
C'est facultatif, mais agréable à avoir.
Ensuite, vous devrez ajouter le référentiel Gitlab:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
Si vous avez un gestionnaire de packages différent de apt
, vous aurez besoin d'un script différent.
Ensuite, vous pouvez installer Gitlab. Vous devrez transmettre votre URL externe comme argument lors de l'exécution apt-get install
. C'est une bonne idée de mettre cela sur un sous-domaine comme git.example.com
, donc Gitlab n'interfère pas avec tout ce que vous avez en cours d'exécution.
sudo EXTERNAL_URL="https://git.example.com" apt-get install gitlab-ee
Assurez-vous de marquer ce domaine comme HTTPS; Gitlab installe et gère automatiquement et gratuitement les certificats de LetsEncrypt.
L'installation prendra quelques minutes, mais une fois l'opération terminée, vous serez renvoyé à votre invite standard avec un message vous indiquant que Gitlab est installé.
À ce stade, vous pouvez vous déconnecter de SSH, car le reste de la configuration sera dans le navigateur. Dirigez-vous vers votre URL configurée et vous devriez voir l'écran d'accueil suivant. Cette page doit être diffusée via HTTPS, avec un nouveau certificat pour le sous-domaine.
Entrez un nouveau mot de passe principal pour le compte racine Gitlab; notez que ce n'est pas le mot de passe de votre compte, vous allez créer un compte après cela.
Une fois le mot de passe défini, vous souhaiterez créer un compte. Étant donné qu'il s'agit de votre serveur personnel, vous pouvez avoir le nom d'utilisateur de votre choix. N'hésitez pas à saisir le nom d'utilisateur à quatre lettres que vous avez toujours voulu. Mettez votre e-mail, créez le compte, puis déconnectez-vous immédiatement.
Vous voudrez vous connecter au compte root et donner un accès administrateur à votre compte personnel. Le nom d'utilisateur sera root
et le mot de passe sera le mot de passe principal que vous avez défini il y a quelques secondes. Vous devriez maintenant voir une icône de clé vous amenant aux paramètres d'instance de Gitlab:
À partir de là, vous pouvez modifier les paramètres de votre instance, tels que la configuration du titre et de l'icône de votre site. Vous pouvez également gérer les utilisateurs et verrouiller la création de compte si vous préférez. Depuis l'onglet «utilisateurs», vous pouvez promouvoir votre compte personnel en tant qu'administrateur et vous déconnecter du compte root.
De là, vous devriez avoir un accès complet à Gitlab. Si vous collaborez sur le code, vous pouvez créer un nouveau groupe et créer un projet sous ce groupe (plutôt que sous votre nom d'utilisateur).
Une fois votre projet créé, vous pouvez le connecter à votre Git local comme vous le feriez normalement. Assurez-vous d'ajouter vos clés SSH dans les paramètres de votre compte, afin de pouvoir pousser sans entrer votre mot de passe à chaque fois.