Skip to main content

Phase 4. Préparer votre migration d’Azure DevOps vers GitHub

Planifiez votre migration en comprenant votre chronologie, les données qui seront migrées et votre structure organisationnelle.

Déterminez combien de données vous devez migrer

Déterminez votre planning qui dictera en grande partie votre approche. La première étape pour déterminer votre planning consiste à obtenir un inventaire de ce que vous devez migrer.

  • Nombre de référentiels
  • Nombre de pull requests

Remarque

Le timing de la migration dépend beaucoup du nombre de demandes de tirage dans un dépôt. Si vous souhaitez migrer 1 000 référentiels et que chaque référentiel a 100 demandes de tirage en moyenne, votre migration sera probablement très rapide. Si vous souhaitez migrer uniquement 100 référentiels, mais que les référentiels ont chacun 75 000 demandes d’extraction en moyenne, la migration prend beaucoup plus de temps et nécessite davantage de planification et de test.

Nous vous recommandons la commande inventory-report dans le ADO2GH extension of the GitHub CLI. Cette commande se connecte à l’API Azure DevOps, puis crée plusieurs fichiers CSV. repos.csv contient des informations sur vos dépôts, y compris le nombre de demandes de tirage.

Pour produire les fichiers CSV, utilisez la commande suivante, en YOUR_ADO_ORG remplaçant par votre organisation sur Azure DevOps.

Shell
gh ado2gh inventory-report --ado-org YOUR_ADO_ORG

Après avoir effectué l’inventaire des référentiels que vous devez migrer, pesez vos données d’inventaire par rapport à votre chronologie souhaitée.

  • Si votre organisation peut résister à un plus haut degré de changement, vous pouvez probablement migrer tous vos dépôts à la fois, en concentrant vos efforts de migration sur quelques jours.
  • Si vous avez des équipes qui ne sont pas en mesure de migrer en même temps, vous souhaiterez peut-être effectuer un traitement par lots et décaler vos migrations pour s’adapter aux chronologies des équipes, ce qui étend votre effort de migration.

Déterminer GitHub structure organisationnelle

Ensuite, planifiez la structure organisationnelle que vous allez créer dans GitHub. ADO et GitHub ont des manières différentes d'organiser le travail d'une entreprise.

  • ADO : Organisation > projet d’équipe > dépôts
  • GitHub : Entreprise > organisation > référentiels

Après avoir migré vers GitHub, vous ne devriez avoir qu'un seul compte d'entreprise et un petit nombre d'organisations appartenant à cette entreprise. Chaque organisation d'ADO doit correspondre à une seule organisation sur GitHub.

Remarque

Le concept de projet d'équipe, qui est utilisé pour regrouper les référentiels dans ADO, n'existe pas dans GitHub. Nous vous déconseillons de créer une organisation sur GitHub pour chaque projet d’équipe sur ADO, car cela peut entraîner une grande liste de dépôts non groupés au sein de chaque organisation. Toutefois, vous pouvez gérer l’accès aux groupes de dépôts en créant des équipes.

Si vous souhaitez interrompre votre effort de migration en lots, la nouvelle structure peut vous aider à les déterminer. Si vous avez plusieurs organisations dans ADO et que les dépôts de chaque organisation constituent des lots de taille raisonnable, envisagez de procéder par organisation.

  1. Déterminez la structure de votre nouvelle organisation.
  2. Déterminez si vous devez diviser votre migration en plus petites parties.
  3. Si c’est le cas, décidez de la façon dont vous souhaitez diviser vos migrations.

Configuration des autorisations de référentiel

Étant donné que les autorisations fonctionnent différemment dans GitHub que dans ADO, GitHub Enterprise Importer ne tente pas de migrer les autorisations de dépôt à partir d’ADO.

Lorsque vous utilisez l’interface CLI ADO2GH, GitHub Enterprise Importer crée deux équipes dans GitHub pour chaque projet d’équipe dans ADO. Chaque équipe dispose d’un niveau d’accès différent à tous les dépôts provenant du projet d’équipe.

ÉquipeAccès aux dépôts migrés
ÉQUIPE-PROJET-ResponsablesMainteneur
ÉQUIPE-PROJET-AdministrateursAdministrateur

Pour donner accès aux dépôts migrés, vous pouvez ajouter des personnes à ces équipes. Vous pouvez le faire manuellement dans GitHub, ou si vous avez choisi de lier les équipes à des groupes Azure Active Directory (AAD) pendant votre migration, en gérant l’appartenance au groupe dans AAD. Pour plus d’informations sur la gestion manuelle de l’appartenance à une équipe, consultez Ajout de membres d’une organisation à une équipe.

Prochaines étapes

Dans la phase suivante, vous allez effectuer une exécution sèche, puis migrer vos dépôts. Consultez Phase 5. Migrer vos référentiels d’Azure DevOps vers Github.