Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2024-07-09. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Migration de référentiels d’Azure DevOps vers GitHub Enterprise Cloud

Vous pouvez migrer des référentiels d’Azure DevOps vers GitHub Enterprise Cloud, en utilisant GitHub CLI ou l’API GraphQL.

Tool navigation

À propos des migrations de dépôts avec GitHub Enterprise Importer

Vous pouvez exécuter votre migration avec GitHub CLI ou l’API.

GitHub CLI simplifie le processus de migration et est recommandé pour la plupart des clients. Les clients avancés avec de grands besoins de personnalisation peuvent utiliser l’API pour créer leurs propres intégrations avec GitHub Enterprise Importer.

Pour voir les instructions d’utilisation de l’API, utilisez le sélecteur d’outils en haut de la page.

Prérequis

  • Nous vous recommandons vivement d’effectuer une exécution d’essai de votre migration et d’effectuer votre migration de production peu après. Pour en savoir plus sur les exécutions d’essai, consultez « Vue d’ensemble d’une migration d’Azure DevOps vers GitHub Enterprise Cloud ».
  • Assurez-vous que vous comprenez les données qui seront migrées et les limitations de prise en charge connues de l’importateur. Pour plus d’informations, consultez « Informations sur les migrations d’Azure DevOps vers GitHub Enterprise Cloud ».
  • Bien que cela ne soit pas obligatoire, nous vous recommandons d’interrompre votre travail pendant votre migration de production. Importer ne prend pas en charge les migrations delta, donc aucune modification apportée pendant la migration ne sera migrée. Si vous choisissez de ne pas interrompre le travail pendant votre migration de production, vous devrez migrer manuellement ces modifications.
  • Pour l’organisation de destination sur GitHub.com, vous devez être propriétaire d'une organisation ou avoir le rôle de migrateur. Pour plus d’informations sur le rôle de migrateur, consultez « Gestion de l'accès pour une migration à partir d'Azure DevOps ».

Étape 1 : installer ADO2GH extension of the GitHub CLI

S’il s’agit de votre première migration, vous devez installer ADO2GH extension of the GitHub CLI. Pour plus d’informations sur GitHub CLI, consultez « À propos de GitHub CLI ».

Vous pouvez également télécharger un fichier binaire autonome à partir de la page des versions du référentiel github/gh-ado2gh. Vous pouvez exécuter ce fichier binaire directement, sans le préfixe gh.

  1. Installez GitHub CLI. Pour obtenir des instructions d’installation pour GitHub CLI, consultez le dépôt GitHub CLI.

    Remarque : Vous devez avoir la version 2.4.0 ou ultérieure de GitHub CLI. Vous pouvez vérifier la version que vous avez installée avec la commande gh --version.

  2. Installez ADO2GH extension.

    Shell
    gh extension install github/gh-ado2gh
    

Dès que vous avez besoin d’aide sur ADO2GH extension, vous pouvez utiliser l’indicateur --help avec une commande. Par exemple, gh ado2gh --help liste toutes les commandes disponibles et gh ado2gh migrate-repo --help liste toutes les options disponibles pour la commande migrate-repo.

Étape 2 : mettre à jour ADO2GH extension of the GitHub CLI

ADO2GH extension of the GitHub CLI est mis à jour toutes les semaines. Pour être sûr d’utiliser la version la plus récente, mettez à jour l’extension.

Shell
gh extension upgrade github/gh-ado2gh

Étape 3 : Définir les variables d’environnement

Avant de pouvoir utiliser ADO2GH extension pour migrer vers GitHub Enterprise Cloud, vous devez créer des personal access token qui peuvent accéder aux organisations source et de destination, puis définir les personal access token en tant que variables d’environnement.

  1. Créez et enregistrez un personal access token qui servira d’authentification pour l’organisation de destination sur GitHub Enterprise Cloud, en vous assurant qu’il répond à toutes les exigences. Pour plus d’informations, consultez « Gestion de l'accès pour une migration à partir d'Azure DevOps ».

  2. Créez et enregistrez un personal access token qui authentifiera l'organisation source sur Azure DevOps, en vous assurant que ce jeton répond à toutes les exigences. Pour plus d’informations, consultez « Gestion de l'accès pour une migration à partir d'Azure DevOps ».

  3. Définissez les variables d’environnement pour les personal access token, en remplaçant TOKEN dans les commandes ci-dessous par les personal access token que vous avez enregistrés ci-dessus. Utilisez GH_PAT pour l’organisation de destination et ADO_PAT pour l’organisation source.

    • Si vous utilisez le Terminal, utilisez la commande export.

      Shell
      export GH_PAT="TOKEN"
      export ADO_PAT="TOKEN"
      
    • Si vous utilisez PowerShell, utilisez la commande $env.

      Shell
      $env:GH_PAT="TOKEN"
      $env:ADO_PAT="TOKEN"
      

Étape 4 : Générer un script de migration

Si vous souhaitez migrer simultanément plusieurs dépôts vers GitHub Enterprise Cloud, utilisez GitHub CLI pour générer un script de migration. Le script résultant contiendra une liste de commandes de migration, une par dépôt.

Remarque : La génération d’un script génère un script PowerShell. Si vous utilisez le Terminal, vous devez générer le script avec l’extension de fichier .ps1 et installer PowerShell pour Mac ou Linux pour l’exécuter.

Si vous souhaitez migrer un seul dépôt, passez à l’étape suivante.

Génération d’un script de migration

Pour générer un script de migration, exécutez la commande gh ado2gh generate-script.

Shell
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME

Pour ajouter des fonctionnalités supplémentaires au script, telles que le recâblage des pipelines, la création d'équipes et la configuration d’intégrations Azure Boards, vous pouvez ajouter l’indicateur --all.

Si vous souhaitez que le script télécharge le journal de migration pour chaque dépôt migré, ajoutez l’indicateur --download-migration-logs. Pour plus d’informations sur les journaux de migration, consultez « Accès à vos journaux de migration pour GitHub Enterprise Importer ».

Remplacez les espaces réservés dans la commande ci-dessus par les valeurs suivantes.

Espace réservéValeur
SOURCENom de l’organisation source
DESTINATIONNom de l’organisation de destination
FILENAMENom de fichier du script de migration résultant

Si vous utilisez le Terminal, choisissez une extension de fichier .ps1, car le script généré exige l’exécution de PowerShell. Vous pouvez installer PowerShell pour Mac ou Linux.

Examen du script de migration

Après avoir généré le script, passez en revue le fichier et, éventuellement, modifiez le script.

  • S’il y a des dépôts que vous ne souhaitez pas migrer, supprimez ou commentez les lignes correspondantes.
  • Si vous souhaitez que les dépôts aient un nom différent dans l’organisation de destination, mettez à jour la valeur de l’indicateur --target-repo correspondant.

Si vous avez téléchargé ADO2GH en tant que fichier binaire autonome plutôt qu’en tant qu’extension de GitHub CLI, vous devrez mettre à jour votre script généré pour exécuter le fichier binaire au lieu de gh ado2gh.

Étape 5 : Migrer des dépôts

Vous pouvez migrer plusieurs dépôts à l’aide d’un script de migration ou un seul dépôt avec la commande gh ado2gh migrate-repo.

Migrer plusieurs dépôts

Pour migrer plusieurs dépôts, exécutez le script que vous avez généré ci-dessus. Remplacez FILENAME dans les commandes ci-dessous par le nom de fichier que vous avez fourni lors de la génération du script.

  • Si vous employez le Terminal, utilisez ./.

    Shell
    ./FILENAME
    
  • Si vous employez PowerShell, utilisez .\.

    Shell
    .\FILENAME
    

Migrer un seul dépôt

Pour migrer un seul dépôt, utilisez la commande gh ado2gh migrate-repo.

Shell
gh ado2gh migrate-repo --ado-org SOURCE --ado-team-project TEAM-PROJECT --ado-repo CURRENT-NAME --github-org DESTINATION --github-repo NEW-NAME

Remplacez les espaces réservés dans la commande ci-dessus par les valeurs suivantes.

Espace réservéValeur
SOURCENom de l’organisation source
CURRENT-NAMENom du dépôt que vous souhaitez migrer
DESTINATIONNom de l’organisation de destination
NEW-NAMENom que vous souhaitez donner au dépôt migré
TEAM-PROJECTNom du projet d’équipe du dépôt que vous souhaitez migrer

Si vous souhaitez annuler une migration, utilisez la commande abort-migration, en remplaçant MIGRATION-ID par l'ID retourné par migrate-repo.

Shell
gh ado2gh abort-migration --migration-id MIGRATION-ID

Étape 6 : Valider votre migration et consulter le journal des erreurs

Une fois votre migration terminée, nous vous recommandons d’examiner votre journal de migration. Pour plus d’informations, consultez « Accès à vos journaux de migration pour GitHub Enterprise Importer ».

Nous vous recommandons de passer en revue vos dépôts migrés pour en contrôler l’intégrité.

Appuyez sur Alt + up pour activer