Aller au contenu
English
Compte : non connecté, synchronisation possible Mon apprentissage
Selectionner le thème
English

GitLab self-managed : la plateforme DevSecOps complète

6 min de lecture
Améliorer cette page

GitLab CE (Community Edition) est la version open-source de GitLab : une forge Git complète, un CI/CD intégré et des outils de sécurité dans une seule plateforme, hébergée sur votre infrastructure. Elle apporte la gestion de dépôts, les merge requests, les pipelines, les runners et un registre de paquets, sans abonnement.

GitLab couvre l'intégralité du cycle de vie DevSecOps de la planification au déploiement. Créé en 2011, le projet est développé par GitLab Inc. (cotée au NASDAQ) et propose trois modes de déploiement : SaaS (gitlab.com), Self-Managed (sur votre infrastructure) et Dedicated (instance isolée gérée par GitLab). La version de référence de cette section est GitLab 19.5.0. En contrepartie de sa richesse fonctionnelle, son empreinte est plus lourde que Gitea ou Forgejo : la documentation de GitLab donne 8 vCPU et 16 Go de RAM pour une installation sur un seul nœud, et accepte 8 Go au minimum dans un environnement contraint.

Cette section est la référence de GitLab self-managed ; le module facultatif de la formation Administrer une forge Git en reprend une partie. Ce module est encore en cours de reprise : la zone d'administration, la ligne de commande, la supervision et le dépannage de GitLab ne sont pas encore couverts. La présentation donne l'origine, les éditions, les fonctions et la place de GitLab face aux alternatives. L'installation pose le package Omnibus sur Ubuntu ou RHEL jusqu'à la première connexion, et la configuration initiale sécurise gitlab.rb : SMTP, inscriptions publiques, SSH.

Les runners ont deux guides : le GitLab Runner sous Linux, avec l'exécuteur shell ou Docker et le jeton glrt-, puis le runner sur Kubernetes, déployé avec Helm. Côté exploitation, la sauvegarde et la restauration passent par gitlab-backup, et la mise à jour suit le chemin officiel entre versions.

Les pipelines, les runners en usage et l'industrialisation ont leur formation, séparée de l'administration de l'instance. Les fondamentaux de GitLab CI/CD mènent du premier pipeline aux jobs, variables, règles, artifacts et cache. La vue d'ensemble de la formation présente le parcours complet jusqu'au pilotage, et ses sections sur l'industrialisation (templates, pipelines parent-enfant, matrices) et les outils (glab, plumber) en détaillent les étapes avancées.

Le tableau met GitLab CE en regard de Gitea et de Forgejo sur les critères qui pèsent le plus pour un exploitant : ressources demandées, CI/CD, sécurité intégrée, licence et complexité d'exploitation. L'écart de ressources est le premier à regarder avant de choisir.

CritèreGitLab CEGiteaForgejo
Ressources8 vCPU et 16 Go (8 Go au minimum, environnement contraint)2 cœurs et 1 Go pour une petite équipeAucun minimum publié, à mesurer
CI/CD intégréOui, GitLab CIOui, Gitea ActionsOui, Forgejo Actions
RunnersShell, Docker, K8s...act_runnerForgejo Runner
Registre de paquetsOuiOuiOui
SAST/DAST intégréOui (EE)ExterneExterne
GouvernanceGitLab Inc.CommitGo Inc.Communauté (Codeberg e.V.)
LicenceMIT (CE) + propriétaire (EE)MITGPL v3+
Complexité opérationnelleÉlevéeFaibleFaible

L'installation Omnibus (la méthode standard recommandée par GitLab) regroupe tous les composants dans un seul package Debian/RPM :

  • NGINX, reverse proxy interne, port 80/443
  • Puma, serveur applicatif Ruby on Rails
  • Sidekiq, traitement des jobs asynchrones
  • PostgreSQL, base de données principale
  • Redis, cache et file de jobs
  • Gitaly, service d'accès aux dépôts Git
  • GitLab Runner, agent CI/CD (installé séparément)
/etc/gitlab/gitlab.rb ← configuration principale (Omnibus)
/var/opt/gitlab/
postgresql/data/ ← base de données
git-data/repositories/ ← dépôts Git (via Gitaly)
backups/ ← archives gitlab-backup
/var/log/gitlab/ ← journaux par composant

La reconfiguration s'applique avec gitlab-ctl reconfigure après chaque modification de gitlab.rb.

  • GitLab s'installe via un package Omnibus unique, tous les composants inclus
  • La configuration complète est dans /etc/gitlab/gitlab.rb, appliquée avec gitlab-ctl reconfigure
  • gitlab-backup create génère un backup complet (hors secrets et config)
  • L'upgrade suit un chemin officiel par versions mineures, ne pas sauter de version majeure
  • Les runners s'installent séparément et s'enregistrent avec un token glrt-

Ce projet vous est utile ?

Les guides, formations, quiz et labs restent gratuits. Si vous les utilisez régulièrement, vous pouvez contribuer à leur maintenance et à leur développement.

Devenir membre de soutien (nouvel onglet) Soutenir une fois (nouvel onglet) En savoir plus

Suivez aussi le projet sur LinkedIn