Oui, avec l'approche mirror Git temps réel. Les devs continuent de pousser sur GitHub jusqu'au jour J, et la bascule finale prend moins de 4 heures le week-end.
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 offertQuestions fréquentes
Articles dans la même thématique
Continuez à explorer le sujet.
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