Skip to main content

Migración de organizaciones desde GitHub.com a GitHub Enterprise Cloud

Puede migrar organizaciones desde GitHub.com a GitHub Enterprise Cloud, con la GitHub CLI o GraphQL API.

Tool navigation

Acerca de las migraciones de organizaciones con GitHub Enterprise Importer

Las migraciones a GitHub Enterprise Cloud incluyen migraciones entre cuentas en GitHub.com y, si estás adoptando diferente residencia, migraciones al subdominio de tu empresa de GHE.com.

Puedes ejecutar la migración con la GitHub CLI o la API.

La GitHub CLI simplifica el proceso de migración y se recomienda para la mayoría de los clientes. Los clientes avanzados con necesidades de personalización intensivas pueden usar la API para crear sus propias integraciones con GitHub Enterprise Importer.

Para ver instrucciones de uso de la GitHub CLI, usa el conmutador de herramientas en la parte superior de la página.

Requisitos previos

  • Se recomienda encarecidamente realizar una ejecución de prueba de la migración y completar la migración de producción poco después. Para más información sobre las ejecuciones de prueba, consulta Introducción a una migración entre productos de GitHub.
  • Asegúrate de comprender los datos que se migrarán y las limitaciones de compatibilidad conocidas del importador. Para obtener más información, consulta Acerca de las migraciones entre productos de GitHub.
  • Aunque no es necesario, se recomienda detener el trabajo durante la migración de producción. Importer no admite migraciones diferenciales, por lo que los cambios que se produzcan durante la migración no se migrarán. Si decides no detener el trabajo durante la migración de producción, tendrás que migrar manualmente estos cambios.
  • Para la organización de origen, debes ser propietario de la organización o tener el rol de migrador. Para más información, consulta Administración del acceso para una migración entre productos de GitHub.
  • Para la cuenta empresarial de destino, debes ser propietario de la empresa.

Paso 0: Preparación para usar GraphQL API de GitHub

Para realizar consultas de GraphQL, tendrás que escribir scripts propios, o bien usar un cliente HTTP como Insomnia.

Para más información sobre cómo empezar a trabajar con GraphQL API de GitHub, incluido cómo autenticarse, consulta Formar llamados con GraphQl.

Enviarás todas las consultas de GraphQL al destino de tu migración. Si vas a migrar a Nube de GitHub Enterprise con residencia de datos, asegúrate de enviar consultas al punto de conexión del subdominio de la empresa de GHE.com.

Paso 1: Obtención del id. empresarial para el destino de la migración

Como propietario de la empresa en GitHub.com, usa la siguiente consulta para devolver el identificador de la cuenta empresarial a la que deseas que pertenezca la organización migrada. Necesitarás el identificador empresarial para identificar el destino de la migración.

query(
  $slug: String!
){
  enterprise (slug: $slug)
  {
    slug
    id
  }
}
Variable de consultaDescripción
slugEl slug de aplicación de la cuenta empresarial, que puedes identificar examinando la dirección URL de tu empresa, https://github.com/enterprises/SLUG o https://SLUG.ghe.com.

Paso 2: Inicio de la migración de la organización

Cuando inicias la migración, una única organización y sus datos adjuntos se migran a una nueva organización dentro de la empresa de destino que especifiques.

mutation startOrganizationMigration (
  $sourceOrgUrl: URI!,
  $targetOrgName: String!,
  $targetEnterpriseId: ID!,
  $sourceAccessToken: String!,
    $targetAccessToken: String!
){
  startOrganizationMigration( input: {
    sourceOrgUrl: $sourceOrgUrl,
    targetOrgName: $targetOrgName,
    targetEnterpriseId: $targetEnterpriseId,
    sourceAccessToken: $sourceAccessToken,
        targetAccessToken: $targetAccessToken
  }) {
    orgMigration {
      id
    }
  }
}
Variable de consultaDescripción
sourceOrgUrlDirección URL de la organización de origen, como https://github.com/octo-org.
targetOrgNameEl nombre que quiere que tenga la nueva organización. No se puede compartir por otra organización en la plataforma de destino.
targetEnterpriseIdIdentificador de la empresa en la que deseas crear la nueva organización, devuelto en el paso 2.
sourceAccessTokenTu personal access token (classic) para la organización de origen. Para saber los requisitos, consulta Administración del acceso para una migración entre productos de GitHub.
targetAccessTokenTu personal access token (classic) para la empresa de destino.

En el paso siguiente, usarás el id. de migración devuelto por la mutación startOrganizationMigration para comprobar el estado de la migración.

Paso 3: Comprobación del estado de la migración

Para detectar errores de migración y asegurarte de que la migración funciona, puedes consultar los elementos OrganizationMigration que has creado para ver el estado de migración mediante la consulta getMigration.

La consulta devolverá un estado para informarte de si la migración es queued, in progress``failed o completed, aparte de información sobre cuántos repositorios están esperando para migrarse. Si se ha producido un error en la migración, en Importer se proporcionará un motivo para el error.

query (
  $id: ID!
){
  node( id: $id ) {
    ... on OrganizationMigration {
      id
            sourceOrgUrl
            targetOrgName
      state
      failure_reason
      remaining_repositories_count
      total_repositories_count
    }
  }
}
Variable de consultaDescripción
idid de tu migración.

Una vez finalizada la migración, se recomienda comprobar el repositorio de registros de migración. Para más información, consulta Acceso a los registros de migración para GitHub Enterprise Importer.

Por último, se recomienda realizar una comprobación de idoneidad de la organización y los repositorios migrados.