Skip to main content

Acerca de las migraciones en vivo de GitHub Enterprise Server a GHE.com

¿Cómo las migraciones en tiempo real minimizan los tiempos de inactividad para los desarrolladores?

¿Quién puede utilizar esta característica?

Para usar ELM, actualice a una actualización de parche compatible GitHub Enterprise Server.

Versiones mínimas: 3.20.2, 3.19.6, 3.18.9, 3.17.15.

Nota:

Enterprise Live Migrations está en versión preliminar pública y está sujeto a cambios.

¿Qué es Enterprise Live Migrations?

          Enterprise Live Migrations (ELM) es un servicio para migrar repositorios de GitHub Enterprise Server a Nube de GitHub Enterprise con residencia de datos (GHE.com). Se opera mediante una herramienta de línea de comandos en GitHub Enterprise Server.

Las migraciones son "activas" porque los usuarios pueden seguir usando el repositorio de origen durante la mayoría del proceso de migración. Una vez recopilados inicialmente los datos del repositorio, los webhooks comprueban si hay cambios en el repositorio, como nuevas confirmaciones o actualizaciones de la configuración. Estos cambios se notifican a ELM y se incluyen en la migración.

Una ELM migración incluye un único repositorio. Los datos de nivel de organización, como la configuración de la organización, los equipos y los proyectos, no se incluyen en la migración y se deben volver a configurar manualmente en la empresa de destino.

Diferencias respecto a GitHub Enterprise Importer

          ELM y GitHub Enterprise Importer (GEI) son herramientas independientes que admiten la migración de repositorios de GitHub Enterprise Server a GHE.com.

Las principales ventajas de ELM son:

  • Menor tiempo de inactividad del desarrollador: durante una migración con GEI, los desarrolladores pierden el acceso al repositorio durante la migración. Este tiempo de inactividad crea riesgos como las implementaciones bloqueadas o el trabajo de características estancado.
  • Compatibilidad con Monorepo: ELM puede migrar monorepos grandes y complejos con un historial detallado. A menudo superan la capacidad de GEI.
  • Mejor visibilidad: ELM proporciona visibilidad detallada del nivel de repositorio en el progreso de la migración, que muestra errores pormenorizados para que pueda estar seguro de que el repositorio migrado es una réplica precisa.

Sin embargo, debido a la mayor carga de tráfico asociada a las actualizaciones en vivo, ELM admite menos migraciones simultáneas que GEI: hasta 10 migraciones simultáneas de repositorio desde una sola GitHub Enterprise Server instancia y 20 migraciones simultáneas por empresa de destino.

Es posible que quiera usar ambas herramientas a lo largo de una migración de plataforma, priorizando los repositorios que se beneficiarán la mayoría de ELM.

Información general sobre la migración

Normalmente, un administrador de sitio ejecuta una migración mediante la herramienta cli elm , en una sesión de terminal a través de SSH. El operador debe proporcionar acceso tanto a personal access tokens como a GitHub Enterprise Server y a la empresa de destino.

Las fases de alto nivel de una migración son:

  1.        **Creación**: el administrador del sitio ejecuta comandos de la CLI para crear e iniciar la migración, especificando el repositorio de origen y el destino.
    
  2.        **Comprobaciones previas**: el servicio de migración comprueba los parámetros, los tokens, la conectividad de red y la configuración del repositorio.
    
  3.        **Reposición**: la ELM herramienta realiza un rastreo inicial para capturar todos los datos del repositorio y enviarlos al servicio de migración en la plataforma de destino. Durante la fase de reposición, los webhooks comprueban si hay actualizaciones activas en el repositorio a medida que continúa la migración.
    
  4.        **Transición**: el repositorio de origen está bloqueado y las actualizaciones activas finales se envían a ELM. Este es el período de tiempo de inactividad para los desarrolladores.
    
  5.        **Finalización**: la migración ha finalizado. El administrador del sitio puede comprobar que los datos se migraron correctamente.
    
  6.        **Seguimiento**: un propietario de la organización realiza tareas de seguimiento en la empresa de destino, como volver a configurar la configuración de la organización y reasignar la actividad a los usuarios.
    

Pasos siguientes

Para prepararse para ejecutar una migración, consulte Preparación para la migración en vivo desde GitHub Enterprise Server a GHE.com.