Bienvenue dans notre nouvelle série d'articles de blog baptisée « Premiers pas avec GitLab », dans laquelle nous aidons les nouveaux utilisateurs à se familiariser avec la plateforme DevSecOps de GitLab.
L'importation de projets est une compétence essentielle qui vous permet de tirer le meilleur parti de la plateforme DevSecOps de GitLab. Une fois que vous avez configuré votre compte et invité des utilisateurs que vous avez organisés en fonction de votre cas d'utilisation ou de la structure de votre équipe, vous devez importer vos projets existants dans GitLab et commencer à travailler en équipe. Ces projets peuvent inclure des fichiers locaux situés sur votre ordinateur ou hébergés sur une autre plateforme de gestion de code source. Explorons ensemble les options se trouvant à votre disposition.
Importation de fichiers de projets locaux
Vous n'avez pas besoin de repartir de zéro chaque fois que vous importez un projet. Suivez les étapes ci-dessous pour accéder aux projets ou applications GitLab existants, qu'ils utilisent ou non le contrôle de version.
Projet Git
- Si Git est déjà lancé dans votre projet local, créez un projet dans GitLab et obtenez l'URL SSH ou HTTPS en cliquant sur le bouton Code en haut à droite de la page de votre projet.
- Ouvrez votre terminal et assurez-vous d'être dans le dossier dans lequel se trouve votre projet :
cd /project_folder
- Sauvegardez votre serveur origin Git existant :
git remote rename origin old-origin
- Ajoutez l'URL du dépôt distant GitLab pour le nouveau serveur origin, lors de l'utilisation de SSH :
git remote add origin [[email protected]](mailto:[email protected]):gitlab-da/playground/abubakar/new-test-repo.git
Et pour HTTPS :
git remote add origin https://gitlab.com/gitlab-da/playground/abubakar/new-test-repo.git
git push --set-uptream origin --all
git push --set-uptream origin --tags
L'intégralité des fichiers, branches et tags de votre projet feront l'objet d'un push vers GitLab et vous pourrez commencer à travailler en équipe.
Projet autre que Git
Si vous n'avez pas lancé Git dans votre projet, vous devez initialiser Git, valider les fichiers existants et effectuer un push vers GitLab comme suit :
git init --initial-branch=main
git remote add origin [email protected]:gitlab-da/playground/abubakar/new-test-repo.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin main
Importation à partir de sources en ligne
Si votre projet est hébergé sur GitLab.com ou d'autres plateformes et que vous souhaitez le déplacer vers une autre instance GitLab (comme GitLab Self-Managed) ou d'une autre plateforme vers GitLab.com, GitLab met à votre disposition une fonctionnalité d'importation de projet lorsque vous souhaitez créer un projet.
L'importation d'un projet migre les fichiers associés et certains autres composants du projet en fonction de la source. Vous pouvez importer des projets à partir de différentes sources, notamment Bitbucket, GitHub, Gitea et une instance GitLab. Les sources d'importation sont activées par défaut sur GitLab.com, mais un administrateur doit les activer pour GitLab Self-Managed. Nous examinerons quelques-unes de ces sources dans les sections suivantes.
Sources GitLab
Vous pouvez exporter des projets issus des instances GitLab.com et GitLab Self-Managed à l'aide de la fonctionnalité Exporter le projet, disponible dans les paramètres du projet concerné.
Voici comment procéder :
- Accédez aux paramètres de votre projet et cliquez sur Général.
- Faites défiler jusqu'à la section Paramètres avancés et développez-la.
- Sélectionnez Exporter le projet.
- La notification « L'exportation du projet a commencé. Un lien de téléchargement sera envoyé par e-mail et sera disponible sur cette page » s'affiche.
- Une fois l'exportation générée, vous pouvez suivre le lien contenu dans l'e-mail ou actualiser la page des paramètres du projet pour afficher l'option « Télécharger l'export ».
Importation du projet
- Cliquez sur le bouton Nouveau projet dans votre instance GitLab cible.
- Sélectionnez Importer un projet et cliquez sur Export GitLab dans la liste des sources d'importation.
- Spécifiez le nom du projet et sélectionnez le fichier d'exportation, puis cliquez sur Importer un projet.
- Une page « Importation en cours » s'affiche, avant de vous rediriger vers le projet importé.
Le délai nécessaire à l'importation dépend de la taille de votre projet. Vous ne pouvez pas exporter tous les composants d'un projet et certains éléments peuvent changer après l'importation. Pour comprendre les limitations, consultez notre documentation. Si vous souhaitez migrer un groupe entier au lieu de projets individuels, la méthode de transfert direct est recommandée, car elle permet de créer une copie d'un groupe entier.
Fournisseurs tiers
GitLab prend en charge l'importation depuis Bitbucket Cloud, Bitbucket Server, FogBugz, Gitea et GitHub. Le processus d'importation est similaire pour tous les fournisseurs tiers pris en charge, sauf en ce qui concerne la méthode d'authentification. Voyons cela plus en détail.
GitHub
Il existe trois méthodes pour importer des projets GitHub dans GitLab :
- Utilisation du protocole d'autorisation OAuth de GitHub
- Utilisation d'un jeton d'accès personnel GitHub
- Utilisation de l'API
Les importations à l'aide du protocole OAuth de GitHub et du jeton d'accès personnel sont similaires. La différence réside dans la façon dont vous autorisez GitLab à accéder à vos dépôts. La méthode OAuth est plus facile : vous cliquez sur le bouton « Autoriser avec GitHub » qui vous redirige alors vers votre compte GitHub pour autoriser la connexion. Ensuite, la liste de vos projets est chargée et vous pouvez choisir ceux que vous souhaitez importer.
Vous pouvez également générer un jeton d'accès personnel GitHub, en sélectionnant les portées repo
et read:org
, puis le spécifier sur la page « Import ». Pour les importations d'API, vous pouvez utiliser le même jeton d'accès personnel avec nos points de terminaison d'API REST dédiés à l'importation dans votre script ou votre application.
Dans cette démonstration, Fernando Diaz, Senior Developer Advocate chez GitLab, explique comment importer un projet depuis GitHub à l'aide de la méthode OAuth :
Pour en savoir plus, notamment sur les prérequis, les problèmes connus et l'importation depuis GitHub Enterprise, consultez notre documentation sur l'importation de GitLab.
Bitbucket
L'importation de projets depuis Bitbucket est similaire à l'importation de projets depuis GitHub. Bien que l'utilisation du protocole OAuth s'applique à Bitbucket Cloud, la version SaaS de Bitbucket, vous devez fournir une URL, un nom d'utilisateur et un jeton d'accès personnel pour Bitbucket Server, la version auto-hébergée pour les entreprises. En cliquant sur l'option Bitbucket Cloud sur l'écran « Import », vous accédez automatiquement à l'authentification Atlassian pour Bitbucket.
Vous pouvez également importer des projets Bitbucket à l'aide de l'API d'importation GitLab.
Gitea
L'importation de projets depuis Gitea nécessite de créer un jeton d'accès personnel sur la plateforme Gitea, puis de l'indiquer avec l'URL du serveur Gitea sur la page d'importation GitLab. L'authentification OAuth n'est pas prise en charge.
Dépôt Git générique distant
Lorsque votre fournisseur Git n'est pas pris en charge ou que l'importation n'est pas possible à l'aide des méthodes disponibles, vous pouvez importer un dépôt à l'aide de son URL https://
ou git://
accessible. Si l'URL n'est pas publique, fournissez l'URL du dépôt ainsi que le nom d'utilisateur et le mot de passe (ou le jeton d'accès, le cas échéant, dans le cas d'une authentification multifacteur).
Vous pouvez également utiliser cette méthode pour tenir à jour une copie d'un projet distant et la synchroniser, par exemple dans le cadre d'une mise en miroir. La mise en miroir vous permet de maintenir des dépôts sur différentes plateformes et de les synchroniser. Vous pouvez par exemple séparer l'accès privé et public au projet tout en veillant à ce que les deux versions restent identiques, ce notamment lors de la mise à disposition en open source de projets internes. La mise en miroir est également utilisée lorsque vous travaillez avec des sous-traitants sur des plateformes différentes qui nécessitent un accès partagé au code base.
Lancez-vous sur GitLab dès aujourd’hui !
L'importation et la migration entre différentes instances GitLab, et à partir d'autres sources, sont des étapes importantes qui doivent faire l'objet d'une planification rigoureuse. Il est essentiel de définir clairement les attentes concernant les éléments importés et la méthode utilisée. Bien que la plupart des solutions tierces permettent d'importer divers éléments d'un projet, notamment des fichiers, des tickets et des merge requests, certaines approches présentent des problèmes et des limitations connus. Notre documentation GitLab dédiée à l'Importation de projets fournit des informations détaillées sur toutes les méthodes prises en charge qui peuvent vous aider à planifier votre migration.
Vous souhaitez approfondir vos connaissances ? Inscrivez-vous à GitLab University. Vous pouvez également vous lancer immédiatement avec un essai gratuit de 60 jours de GitLab Ultimate.