Skip to main content

Résolution des problèmes de migrations dynamiques de GitHub Enterprise Server vers GHE.com

Conseils pour les problèmes que vous pouvez rencontrer avec votre migration.

Remarque

Enterprise Live Migrations est préversion publique et sujet à changement.

Si votre migration rencontre un problème, vérifiez l’état de la migration avec elm migration status --migration-id MIGRATION-ID et passez en revue les informations d’erreur.

ÉtatSensAction recommandée
CrééeLa migration a été créée, mais pas encore démarréeExécutez elm migration start
En file d'attenteLa migration attend le démarrageWait
ExportationLes données sont exportées à partir de la sourceSurveiller avec elm migration status
TraitementLes données exportées sont importées dans la destinationSuperviser avec elm migration status
Prêt pour le basculementLa migration initiale est terminée et prête pour le passage.Quand vous êtes prêt, exécutez elm migration cutover-to-destination
DécoupageLe référentiel source est verrouillé et les modifications restantes sont appliquées à la destinationMoniteur; l’état passe à Terminé
CompletedLa migration s’est terminée avec succèsVérifier le référentiel de destination et récupérer des mannequins
ÉchecLa migration a rencontré un échec irrécupérableExaminer l’erreur (voir ci-dessous)
suspenduLa migration est suspendueReprendre la migration
**
          ** terminée | La migration a été annulée | N/A |

| Détérioré | La destination est inaccessible | Vérifier la connectivité réseau entre l’appliance GitHub Enterprise Server et GHE.com (voir ci-dessous) |

L’état de la migration est « Échec »

Une migration entre dans l’état Échec lorsqu’une erreur irrécupérable l’empêche de continuer. Il s’agit d’une différence entre les ressources individuelles qui n’ont pas pu être importées ; une migration ayant échoué signifie que la migration elle-même ne peut pas continuer.

Pour enquêter, exécutez elm migration status --migration-id MIGRATION-ID et passez en revue les détails de l'erreur dans la réponse. Chaque échec inclut un ID de corrélation au format (Correlation ID for Support: UUID). Si vous contactez Support GitHub, fournissez cet ID afin que l’équipe du support technique puisse examiner.

Après avoir résolu le problème sous-jacent, abandonnez la migration ayant échoué avec elm migration cancel --migration-id MIGRATION-ID et démarrez une nouvelle migration.

L’état de la migration est « Détérioré »

Un état détérioré signifie que le service de migration sur l’appliance GitHub Enterprise Server ne peut pas atteindre l’entreprise de destination. La migration se poursuit côté source, mais l’état de destination est inconnu.

Vérifiez la connectivité réseau entre l’appliance GitHub Enterprise Server et votre sous-domaine, GHE.compuis réexécutez elm migration status --migration-id MIGRATION-ID . La réponse d’état inclut un horodatage pour le dernier contact réussi avec la destination, ce qui peut vous aider à évaluer la durée pendant laquelle le problème de connectivité s’est produit.

Certaines ressources n’ont pas pu être importées

Les ressources individuelles peuvent ne pas être importées sans provoquer l’échec de la migration globale. Vous pouvez voir le nombre de ressources ayant échoué dans la sortie de elm migration status --migration-id MIGRATION-ID.

Les ressources ayant échoué sont affichées uniquement après que toutes les nouvelles tentatives automatiques ont été épuisées, les échecs que vous voyez sont donc confirmés comme non résolus sans intervention. Passez en revue les détails de l’erreur dans la réponse d’état : chaque ressource ayant échoué dans le remplissage rétroactif ou les mises à jour en direct s'affichera "state": "failed".

Si le nombre et les types de ressources ayant échoué sont acceptables, vous pouvez procéder au basculement. Si ce n’est pas le cas, abandonnez la migration, résolvez le problème sous-jacent, puis démarrez une nouvelle migration.

Échec du basculement et verrouillage du référentiel source

En cas d’échec d’un basculement en cours de processus, le dépôt source peut rester verrouillé ou archivé. Cela empêche les développeurs d’envoyer (push) vers la source alors que la destination peut toujours être incomplète.

Pour déverrouiller le référentiel source, un administrateur de site doit le déverrouiller à partir du GitHub Enterprise ServerConsole de gestion.

Une fois la source déverrouillée, vous pouvez effectuer une nouvelle tentative de basculement à l'aide de elm migration cutover-to-destination --migration-id MIGRATION-ID, ou l'abandonner avec elm migration cancel --migration-id MIGRATION-ID et démarrer une nouvelle migration quand vous êtes prêt.

La migration doit être redémarrée en raison d’un "force push"

Si quelqu’un effectue un "force push" sur la branche principale du dépôt source pendant qu’une migration est en cours, la synchronisation Git entre la source et la destination est rompue. Les poussées forcées réécrivent l’historique des commits d’une manière qui ne peut pas être réconciliée de manière incrémentielle.

Dans ce cas, interrompez la migration avec elm migration cancel --migration-id MIGRATION-ID et démarrez une nouvelle migration. Avant de redémarrer, communiquez à votre équipe que les push forcés vers la branche par défaut ne sont pas autorisés pendant qu’une migration est active.

Le jeton d’accès a été rejeté

Si votre migration échoue avec une erreur d’authentification, vérifiez que :

  • Les deux jetons source et de destination sont personal access tokens (classic). Les jetons granulaires ne sont pas pris en charge.
  • Les jetons ont les étendues spécifiées dans Migration de votre référentiel avec Enterprise Live Migrations.
  • Si l’organisation de destination applique l’authentification unique SAML, le jeton doit être autorisé pour l’authentification unique.

L’URL GHES source a été rejetée

          Enterprise Live Migrations nécessite l’URL GitHub Enterprise Server pour utiliser HTTPS. Si l’URL est configurée avec HTTP, la migration échoue à la validation préliminaire.