Aller au contenu principal

Migrer de GitHub vers GitLab self-hosted managé se fait en 8 étapes : audit des repos, import Git avec historique, transfert issues/PRs, reconfiguration des webhooks, redirection DNS progressive, formation, bascule week-end. Pour une équipe de 20 devs avec 50 repos, comptez 5 à 10 jours ouvrés sans interruption des développements.

Migrer de GitHub vers GitLab en 2026 : playbook complet en 8 étapes

Audit, import Git avec historique, transfert issues/PRs, redirection DNS, formation, bascule week-end : tout pour migrer sans interruption.

YH

Youssef Hamdani

Migration Engineer · Devoo

10 min
  • #Migration
  • #GitHub
  • #GitLab
  • #Playbook

La migration de GitHub vers GitLab est l'une des opérations les plus structurantes pour une équipe de développement. Bien planifiée, elle se déroule sans interruption et apporte un ROI immédiat sur la prévisibilité des coûts CI/CD.

Pourquoi migrer de GitHub vers GitLab en 2026 ?

Les déclencheurs business

  • Volonté de souveraineté (Cloud Act, RGPD, NIS2)
  • Réduction des coûts CI (facturation à la minute GitHub Actions vs forfait GitLab)
  • Recherche d'une plateforme unifiée (repo + CI + registry + sécurité)
  • Nécessité de runners GPU on-premise pour le ML

Étape 1 — Audit de l'existant GitHub

Cartographier pour mieux planifier

Avant toute migration, on inventorie : nombre de repos (publics/privés/forks), volumétrie totale en Go, nombre d'issues/PRs actives, intégrations tierces actives (Slack, Jira, etc.), GitHub Actions utilisées, secrets stockés. Cet audit prend 1-2 jours et fournit la baseline.

Étape 2 — Préparer l'instance GitLab cible

Setup de l'infrastructure

  • Provisionner l'instance GitLab managée Devoo (48h de setup)
  • Configurer les groupes et les projets miroirs
  • Importer les clés SSH et GPG des développeurs
  • Connecter le SSO (SAML/OIDC) à votre IdP

Étape 3 — Import des repositories

Migration du code avec historique complet

Deux approches : (a) utilisation de l'importateur natif GitLab (URL → URL), (b) mirror Git temps réel pendant la phase de transition. Notre recommandation : l'approche (b) pour les gros volumes, elle permet une bascule finale instantanée le jour J.

Étape 4 — Transfert des issues, PRs et wiki

Préserver le contexte de collaboration

L'importateur natif GitLab gère le transfert des issues, labels, milestones, commentaires. Pour les PRs ouvertes, on les convertit en MRs GitLab. Le wiki est migré en parallèle. Durée typique : 2-3 jours pour 50 repos.

Étape 5 — Reconfiguration des CI/CD

Convertir les GitHub Actions en GitLab CI

  • Conversion automatique via glab migrate (60-80% des cas)
  • Re-écriture manuelle des workflows complexes (matrix, reusable workflows)
  • Configuration des runners self-hosted équivalents
  • Mise en place du cache distribué pour optimiser les temps de build

Étape 6 — Formation des équipes

Onboarding 1h par dev

Session de 1h par développeur (ou 3h pour toute l'équipe) : navigation dans GitLab, syntaxe .gitlab-ci.yml, gestion des MRs, sécurité. Objectif : autonomie complète J+1.

Étape 7 — Bascule week-end

Le jour J, en moins de 4 heures

  • Vendredi 18h : freeze des commits GitHub
  • Samedi matin : synchronisation finale GitLab
  • Samedi midi : redirection DNS git.example.com → GitLab
  • Dimanche : surveillance et ajustements

Étape 8 — Post-migration et optimisation

Sprint des 30 premiers jours

Audit post-migration : vérifier que tous les repos, issues, et intégrations fonctionnent. Optimiser les pipelines les plus lents. Collecter les feedbacks dev. Stabilisation sous 30 jours.

30 minutes pour estimer le scope et le coût

Audit migration GitHub → GitLab offert

Questions fréquentes

Prêt à passer de la lecture à l'action ?

Discutons de la mise en œuvre de ces leviers pour votre projet.

Agence Devoo · +200 projets · 5 étoiles