Skip to main content

Esta versión de GitHub Enterprise Server se discontinuará el 2026-08-25. No se admiten versiones discontinuas. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para mejorar el rendimiento, mejorar la seguridad y las nuevas características de GitHub Enterprise Server, consulte Información general del proceso de actualización. Para obtener ayuda con la actualización, GitHub Soporte técnico empresarial.

Solución de problemas de migraciones en vivo de GitHub Enterprise Server a GHE.com

Consejos para los problemas que puede encontrar con la migración.

Nota:

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

Si la migración encuentra un problema, compruebe el estado de la migración con elm migration status --migration-id MIGRATION-ID y revise la información de error.

SituaciónMeaningAcción recomendada
CreatedLa migración ha sido creada, pero aún no ha comenzado.Ejecute elm migration start:
QueuedLa migración está esperando a iniciarseWait
ExportaciónLos datos se exportan desde el origenSupervisión con elm migration status
En procesamientoLos datos exportados se importan al destinoSupervisión con elm migration status
Listo para la transiciónLa migración inicial se ha completado y la migración está lista para la transiciónCuando esté listo, ejecute elm migration cutover-to-destination
TransiciónEl repositorio de origen está bloqueado y se aplican los cambios restantes al destino.Monitor; el estado pasará a Completado.
CompletedLa migración ha finalizado correctamenteComprobación del repositorio de destino y reclamación de maniquíes
FallidoLa migración encontró un error irrecuperableInvestigar el error (consulte a continuación)
En pausaLa migración está en pausaCompruebe el motivo de pausa y resuelva (consulte a continuación)
TerminadoSe canceló la migración.N/A
DegradadoEl destino no es accesibleComprobación de la conectividad de red entre el dispositivo de GitHub Enterprise Server y GHE.com (consulte a continuación)

El estado de la migración es "Fallido"

Una migración entra en el estado Error cuando un error irrecuperable impide que continúe. Esto es distinto de los recursos individuales que no se pueden importar; un fallo en la migración significa que la migración en sí misma no puede proceder.

Para investigar, ejecute elm migration status --migration-id MIGRATION-ID y revise los detalles del error en la respuesta. Cada error incluye un identificador de correlación con el formato (Correlation ID for Support: UUID). Si se comunica con Soporte de GitHub, proporcione este identificador para que el equipo de soporte técnico pueda investigar.

Después de resolver el problema subyacente, elm migration cancel --migration-id MIGRATION-ID anule la migración con errores y comience una nueva migración.

El estado de la migración es "Pausado"

Una migración entra en el estado Pausado cuando un problema requiere la intervención antes de poder continuar. Ejecute elm migration status --migration-id MIGRATION-ID y compruebe el motivo de pausa.

Motivos comunes de pausa:

  • Caducidad de credenciales: uno de los personal access tokens (classic) ha caducado. Cree un nuevo token con los ámbitos necesarios y actualícelo con elm credential update. A continuación, reinicie la migración.
  • Limitación de tasa: La migración alcanzó los límites de tasa de la API. Espere unos minutos y, a continuación, reinicie.

Para reiniciar una migración en pausa después de resolver el problema subyacente:

elm migration start --migration-id MIGRATION-ID

El estado de la migración es "Degradado"

Un estado Degradado significa que el servicio de migración del GitHub Enterprise Server dispositivo no puede llegar a la empresa de destino. La migración continúa en el lado de origen, pero el estado de destino es desconocido.

Compruebe la conectividad de red entre el dispositivo y el GitHub Enterprise Server subdominio de GHE.com, y ejecútelo de nuevo elm migration status --migration-id MIGRATION-ID. La respuesta de estado incluye una marca de tiempo para el último contacto exitoso con el destino, lo que puede ayudar a evaluar cuánto tiempo ha estado ocurriendo el problema de conectividad.

Migración bloqueada en "Exportando"

Si la migración permanece en el estado Exportación sin ningún cambio de progreso durante 30 minutos o más, el exportador puede estar bloqueado.

  1. Ejecute elm migration status --migration-id MIGRATION-ID y observe si los recuentos de recursos cambian.

  2. Si los recuentos son estáticos, compruebe la conectividad de red del dispositivo con el destino.

  3. Revise los registros del exportador en el GitHub Enterprise Server dispositivo (requiere acceso de administrador SSH):

    Shell
    journalctl -t elm-exporter-backfiller --since "1 hour ago" | tail -50
    journalctl -t elm-exporter-sender --since "1 hour ago" | tail -50
    
  4. Si la tarea del exportador ha fallado, debería recuperarse automáticamente. Si no lo hace, póngase en contacto con Soporte de GitHub.

Sincronización de Git no completada

Si elm migration status muestra que la inserción inicial de Git no se ha completado después de un período prolongado, compruebe los registros del sincronizador de Git:

Shell
journalctl -t elm-exporter-git-syncer --since "2 hours ago"

Busque:

  • connection refused: un problema de red entre el GitHub Enterprise Server dispositivo y el destino. Compruebe las reglas de firewall y la resolución DNS.
  • authentication failed: Puede que el personal access token (classic) no tenga los permisos necesarios o que haya caducado.
  • remote: error: Es posible que el destino esté rechazando el envío. Contacte con Soporte de GitHub con los detalles del error.

Algunos recursos no se pudieron importar

Los recursos individuales pueden no importarse sin provocar un error en la migración general. Puede ver un recuento de recursos fallidos en la salida de elm migration status --migration-id MIGRATION-ID.

Los recursos con errores solo se muestran después de que se hayan agotado todos los reintentos automáticos, por lo que los errores que vea se confirman como irresolubles sin intervención. Revise los detalles del error en la respuesta de estado: cada recurso fallido en relleno de datos o actualizaciones en tiempo real mostrará "state": "failed".

Si el número y los tipos de recursos con errores son aceptables, puede continuar con la transición. Si no es así, anule la migración, resuelva el problema subyacente y, a continuación, inicie una nueva migración.

El cambio falló y el repositorio de origen está bloqueado.

Si se produce un error durante la transición, el repositorio de origen puede permanecer bloqueado o archivado. Esto impide que los desarrolladores envíen al origen, mientras que el destino todavía podría estar incompleto.

Para desbloquear el repositorio de origen, un administrador de sitio debe desbloquearlo desde .GitHub Enterprise ServerConsola de administración

Una vez desbloqueado el origen, puede volver a intentar la fase de transición mediante elm migration cutover-to-destination --migration-id MIGRATION-ID, o interrumpir la migración con elm migration cancel --migration-id MIGRATION-ID e iniciar una nueva migración cuando esté listo.

La migración debe reiniciarse debido a un empuje forzado

Si alguien fuerza el push en la rama predeterminada del repositorio de origen mientras una migración está en curso, se rompe la sincronización de Git entre el origen y el destino. Las operaciones de "force push" reescriben el historial de commits de una manera que no se puede conciliar incrementalmente.

Si esto sucede, anule la migración con elm migration cancel --migration-id MIGRATION-ID e inicie una nueva migración. Antes de reiniciar, comunique al equipo que no se permiten envíos forzados a la rama predeterminada mientras una migración está activa.

Se rechazó el token de acceso

Si se produce un error de autenticación en la migración, compruebe lo siguiente:

  • Los tokens de origen y de destino son personal access tokens (classic). No se admiten tokens específicos.
  • Los tokens tienen los ámbitos especificados en Migración del repositorio con Enterprise Live Migrations.
  • Si la organización de destino aplica el inicio de sesión único de SAML, el token debe estar habilitado para SSO.

Si ha girado recientemente un token, la migración recoge automáticamente las nuevas credenciales. No es necesario ejecutar ghe-config-apply ni reiniciar el servicio de migración.

Se rechazó la dirección URL de GHES de origen.

Enterprise Live Migrations requiere que la GitHub Enterprise Server dirección URL use HTTPS. Si la dirección URL está configurada con HTTP, se producirá un error en la validación previa de la migración.

Recopilación de registros para soporte técnico

Al ponerse en contacto con Soporte de GitHub, los elementos más útiles son:

  1. Un paquete de soporte técnico (preferido): ejecute ghe-support-bundle -u en el GitHub Enterprise Server dispositivo. Esto captura todos los registros de ELM automáticamente.
  2. Salida del estado de la migración: elm migration status --migration-id MIGRATION-ID
  3. El identificador de migración y la hora aproximada del error (con zona horaria)
  4. Cualquier identificador de correlación de cualquier mensaje de error

Si no es posible generar un paquete de soporte, puede recopilar los archivos de registro manualmente:

Shell
journalctl -t elm-exporter-migration-manager --since "24 hours ago" > migration-manager.log
journalctl -t elm-exporter-backfiller --since "24 hours ago" > backfiller.log
journalctl -t elm-exporter-sender --since "24 hours ago" > sender.log
journalctl -t elm-exporter-git-syncer --since "24 hours ago" > git-syncer.log