Importer un dépôt externe vers GitLab : Migrer vos projets
Pourquoi importer vos dépôts existants ?
Dans la vie d'un projet, il est fréquent de devoir changer d'hébergeur pour profiter de meilleures fonctionnalités ou centraliser ses outils. Importer un dépôt externe vers GitLab permet de migrer tout votre travail depuis une plateforme tierce comme Bitbucket vers GitLab sans perdre votre précieux historique de modifications.
L'importation agit comme un déménagement professionnel : vous déplacez toute la structure, les commits et les branches. GitLab facilite cette transition grâce à des connecteurs natifs qui automatisent presque tout le processus de migration.
Lancer la procédure d'importation
L'importation commence directement depuis votre tableau de bord GitLab, en utilisant les outils de migration intégrés plutôt que de créer un projet vide.
Accéder à l'outil d'importation
Une fois connecté, cliquez sur le bouton New project. Au lieu de choisir un projet "Blank", sélectionnez l'onglet Import project.
"Le point de départ pour importer un projet existant"
Sélectionner la source Bitbucket
Une liste de plateformes s'affiche. Cliquez sur le bouton Bitbucket Cloud (ou Server selon votre infrastructure).
Authentification et autorisation
Pour que GitLab puisse récupérer votre code, il doit obtenir votre permission explicite d'accéder à votre compte externe.
Se connecter à Bitbucket
GitLab vous redirige vers la page de connexion de Bitbucket pour saisir vos identifiants.
Autoriser l'accès aux données
Une fois connecté, cliquez sur Grant access (Accorder l'accès). Cela permet à GitLab de lire vos informations de compte, vos tickets et le contenu de vos dépôts pour réussir la migration Bitbucket vers GitLab.
"Cette étape sécurisée crée un pont entre les deux plateformes"
Finaliser la migration du projet
Une fois la connexion établie, GitLab liste tous les dépôts disponibles sur votre compte source.
Choisir le projet à importer
Cherchez le projet à migrer dans la liste et cliquez sur le bouton bleu Import.
Vérification de la réussite
Une barre de progression s'affiche. Une fois le transfert terminé, le statut passera à Done. Votre projet est désormais hébergé sur GitLab avec son historique complet.
Résultat de l'importation :
Importing... 100%
Status: Done
Project 'mon-app-web' is now available on GitLab.
Information sur les branches
Par défaut, GitLab nommera votre branche principale main. Si votre dépôt source utilisait encore le nom "master", GitLab s'occupe généralement de faire la correspondance automatiquement.
Conclusion
Savoir importer un dépôt externe vers GitLab est une compétence clé pour centraliser vos actifs numériques au sein d'une seule forge logicielle DevOps.
Maintenant que vos projets sont en place, il est temps d'explorer l'automatisation. Dans le prochain chapitre, nous ferons nos premiers pas avec l'Intégration Continue via GitLab CI.
Espace commentaire
Écrire un commentaire
Rejoignez la discussion
Vous devez être connecté pour poster un message.
23 commentaires
Pensez à bien vérifier le statut
Doneavant de supprimer votre ancien repo Bitbucket, on ne sait jamais.Merci pour l'article, au moins c'est clair sur le bouton 'Import project'.
Effectivement, le LFS nécessite une manip séparée. Vérifiez bien votre config
.lfsconfigaprès migration.Exact, le LFS ne suit pas toujours. J'ai dû les re-push manuellement.
C'est bien beau mais ça ne migre pas les LFS (Large File Storage). Mes gros binaires sont absents.
Ton token d'accès a expiré pendant la queue d'import. Reconnecte ton compte Bitbucket dans les paramètres pour rafraîchir le token.
J'ai une erreur 500 après avoir cliqué sur 'Import'. Log :
Import failed: token expired.Oui, ça demande d'avoir un accès réseau direct entre le serveur GitLab et ton instance Bitbucket.
Quelqu'un a testé avec Bitbucket Server (on-premise) ?
C'est un par un via l'UI. Si tu en as 50, utilise l'API GitLab pour scripter ça en
python.Est-ce qu'on peut importer plusieurs dépôts d'un coup ou c'est un par un obligatoire ?
Pareil, j'ai dû modifier manuellement mes variables d'environnement dans
gitlab-ci.yml.Le renommage automatique de
masterversmainest bien géré, mais j'ai des scripts de CI qui pointent surmaster. Ça va casser.Oui, le mirror ne prend que le code. Pour les tickets, il faut utiliser l'API ou le connecteur natif, mais attendez-vous à des lenteurs.
Ok pour le mirror, mais on perd les tickets Bitbucket non ?
Pour les gros repos, oubliez l'import auto. Passez par un
git clone --mirroret un push manuel vers GitLab.Ne jamais forcer si le réseau est instable.
Même souci. Je pense que le timeout HTTP est trop court côté GitLab.
J'ai un timeout sur les très gros dépôts. Ça plante à 40%. Quelqu'un a déjà eu ça ?
Oui, l'outil d'importation via l'onglet
Import projectrécupère l'intégralité du graphe de commits, tags inclus.Le tuto mentionne que ça migre tout l'historique. Ça inclut les tags et les branches ?
Idem ici. Est-ce que ça gère bien les dépôts avec des sous-modules ?
Vérifie tes permissions OAuth dans Bitbucket. Si tu n'es pas admin de l'espace de travail, l'accès aux dépôts privés est bloqué.
J'essaie de migrer depuis Bitbucket, mais j'ai une erreur 403 dès que je clique sur 'Grant access'. Une idée ?