Gitlab : déploiement avec Docker et docker compose

Dans ce tutoriel, je vais vous expliquer comment déployer Gitlab avec Docker en utilisant un fichier docker-compose.yml.

Présentation de Gitlab

Avant de parler technique et déploiement, je vais vous présenter Gitlab pour ce que ne connaisse pas.

Gitlab est un logiciel d’hébergement de source basé sur git avec les fonctionnalités suivantes :

  • Wiki pour faire la documentation des projets.
  • Suivi de bugs.
  • Intégration continu et livraison continu (CI/CD).
  • Registre d’image Docker.
  • Snippet de code.

C’est en fait une solution alternative à « Github » qui peut être autohébergé.

Quand on parle de Gitlab on peut parlé de deux choses :

  • Gitlab.com : qui est la solution SaaS (service) comme Github, qui vous permet d’héberger vos projets en ligne. Il existe plusieurs niveau de services en fonction de l’abonnement (Gratuit ou payant)
  • Gitlab : la solution autohébergé qui permet de gérer son propre serveur de source Git, la aussi deux versions sont disponibles.
    • CE : Community Edition qui est la version gratuite (libre)
    • EE : Enterprise Edition édition payante avec des fonctionnalités supplémentaires.

Prérequis

Pour déployer Gitlab en conteneur Docker avec Docker compose vous avez besoins :

Déploiement de Gitlab avec Docker

Comme à mon habitude, je vais travailler dans le dossier /containers.

Je vais commencer par créer un dossier pour stocker mon fichier docker-compose.yml et les volumes de mon conteneur.

sudo mkdir gitlab

Aller dans le dossier créé.

cd gitlab

Créer le fichier docker-compose.yml

sudo touch docker-compose.yml

Voici le contenu du fichier qui doit être adapté à votre environnement :

Voici mon fichier pour ce tutoriel :

Télécharger l’image du conteneur pour Gitlab

sudo docker compose pull

Démarrer le conteneur :

sudo docker compose up -d

Regarder les logs pour vérifier que tout se passe bien :

sudo docker compose logs -f

Le premier démarrage prend du temps …

Si vous utilisez Nginx, voici le fichier du virtual host que j’utilise.

Comme vous pouvez le voir, la publication du fichier est en HTTP, le passage de la configuration en HTTPS se fera pas certbot lors de la demande du certificat.

Voici le fichier du virtual host en HTTPS.

Maintenant que tout est prêt, on va tester le fonctionne du serveur Gitlan.

Depuis un navigateur, aller à l’url que vous avez défini pour Gitlab.

On arrive sur le page d’authentification :

L’identifiant est root ou l’adresse email défini dans le fichier du conteneur et le mot de passe est celui-ci également du fichier.

Vous êtes maintenant connecté à Gitlab


Il ne vous reste plus qu’à créer des projets.

Même si Gitlab est à la base un outil de développement pour la gestion de code, il peut être aussi utilisé par les administrateurs systèmes et réseau :

  • Dépôt pour les scripts
  • Exécution de script PowerShell à distance, ce qui évite de devoir mettre à jour les stratégies de groupes (GPO)
  • Sauvegarde de configuration de serveur Linux (Nginx, Ansible …)




Laisser un commentaire