Remarque
Enterprise Live Migrations est préversion publique et sujet à changement.
Qu’est-ce que Enterprise Live Migrations ?
Enterprise Live Migrations (ELM) est un service permettant de migrer des référentiels vers GitHub Enterprise ServerGitHub Enterprise Cloud avec résidence des données (GHE.com). Il est utilisé à l’aide d’un outil en ligne de commande sur GitHub Enterprise Server.
Les migrations sont « actives », car les utilisateurs peuvent continuer à utiliser le référentiel source pendant la plupart du processus de migration. Une fois les données du référentiel collectées initialement, les webhooks vérifient les modifications apportées au référentiel, telles que les nouvelles validations ou mises à jour des paramètres. Ces modifications sont signalées ELM et incluses dans la migration.
Une ELM migration inclut un référentiel unique. Les données au niveau de l’organisation, telles que les paramètres de l’organisation, les équipes et les projets, ne sont pas incluses dans la migration et doivent être reconfigurées manuellement sur l’entreprise de destination.
Différences par rapport à GitHub Enterprise Importer
ELM et GitHub Enterprise Importer (GEI) sont des outils distincts qui prennent tous deux en charge la migration de référentiels vers GitHub Enterprise ServerGHE.com.
Les principaux avantages de ELM sont les suivants :
- Temps d’arrêt du développeur réduit : pendant une migration avec GEI, les développeurs perdent l’accès au référentiel pendant la durée de la migration. Ce temps d’arrêt crée des risques tels que des déploiements bloqués ou des fonctionnalités bloquées.
- Soutien aux monorepos : ELM est capable de migrer les monorepos volumineux et complexes avec des historiques profonds. Celles-ci dépassent souvent la capacité de GEI.
- Meilleure visibilité : ELM fournit une visibilité détaillée au niveau du référentiel sur la progression de la migration, en exposant des erreurs granulaires vous assurant ainsi que le référentiel migré est une réplique fidèle.
Toutefois, en raison de la charge de trafic plus élevée associée aux mises à jour actives, ELM prend en charge moins de migrations simultanées que GEI : jusqu’à 10 migrations de référentiels simultanés à partir d’une seule GitHub Enterprise Server instance et 20 migrations simultanées par entreprise de destination.
Vous pouvez utiliser les deux outils au cours d’une migration de plateforme, en hiérarchisant les référentiels qui bénéficieront le plus de ELM.
Vue d’ensemble d’une migration
En règle générale, un administrateur de site exécute une migration à l’aide de l’outil elm CLI, dans une session de terminal via SSH. L’opérateur doit fournir à personal access tokens un accès à la fois à GitHub Enterprise Server et à l’entreprise de destination.
Les phases générales d’une migration sont les suivantes :
-
**Création** : l’administrateur du site exécute des commandes CLI pour créer et démarrer la migration, en spécifiant le référentiel source et la destination. -
**Vérifications préliminaires** : le service de migration vérifie les paramètres, les jetons, la connectivité réseau et la configuration du référentiel. -
**Remplissage :** l’outil ELM effectue une analyse initiale pour capturer toutes les données du référentiel et les envoie au service de migration sur la plateforme de destination. Pendant la phase de remplissage, les webhooks vérifient les mises à jour en temps réel du référentiel au fur et à mesure que la migration se poursuit. -
**Basculement** : le référentiel source est verrouillé et toutes les mises à jour en temps réel finales sont envoyées à ELM. Il s’agit de la période de temps d’arrêt pour les développeurs. -
**Achèvement** : la migration est terminée. L’administrateur du site peut vérifier que les données ont été migrées avec succès. -
**Suivi** : un propriétaire de l’organisation effectue des tâches de suivi sur l’entreprise de destination, telles que la reconfiguration des paramètres de l’organisation et l’activité de réattribuation aux utilisateurs.
Étapes suivantes
Pour vous préparer à exécuter une migration, consultez Préparation de votre migration dynamique de GitHub Enterprise Server vers GHE.com.