Esta versión de GitHub Enterprise se discontinuará el 2022-02-16. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Exportar los datos de migración de tu empresa

Para cambiar las plataformas o migrarse de una instancia de pruebas a una productiva, puedes exportar los datos de migración de una instancia de GitHub Enterprise Server si preparas la instancia, bloqueas los repositorios, y generas un archivo de migración.

Preparar la instancia origen de GitHub Enterprise Server

  1. Verifica que eres un administrador del sitio en el origen GitHub Enterprise Server. La mejor manera de hacerlo es verificar que puedes usar SSH en la instancia.

  2. Genera un acceso de token con los alcances repo y admin:org en la instancia de origen GitHub Enterprise Server.

  3. Para minimizar los tiempos de inactividad, haz una lista de repositorios que deseas exportar desde la instancia de origen. Puedes agregar múltiples repositorios a una exportación a la vez usando un archivo de texto que muestra la URL de cada repositorio en una línea separada.

Exportar los repositorios origen de GitHub Enterprise Server

Nota: El bloquear un repositorio previene todo acceso de lectura y escritura al repositorio. No puedes asociar equipos o colaboradores nuevos con un repositorio bloqueado. Si estás llevando a cabo una ejecución de prueba, no necesitas bloquear el repositorio. Cuando migras los datos desde un repositorio que está en uso,

GitHub recomienda fuertemente que lo bloquees. Para obtener más información, consulta "Acerca de las migraciones".

  1. SSH en tu instancia de GitHub Enterprise Server. Para obtener más información, consulta "Acceder al shell administrativo (SSH)."

    $ ssh -p 122 admin@HOSTNAME
  2. Para preparar un repositorio para la exportación, usa el comando ghe-migrator add con la URL del repositorio:

    • Si estás bloqueando el repositorio, agrega el comando --lock. Si estás efectuando una ejecución de prueba, el comando --lock no es necesario.
      $ ghe-migrator add https://hostname/username/reponame --lock
    • Puedes excluir archivos adjuntos agregando --exclude_attachments al comando. Los archivos adjuntos pueden resultar muy grandes y es posible que sobrecarguen tu archivo de migración final de manera innecesaria.
    • Para preparar varios repositorios al mismo tiempo para exportación, crea un archivo de texto que incluya las URL del repositorio en una línea separada, y ejecuta el comando ghe-migrator add con el indicador -i y la ruta a tu archivo de texto.
      $ ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URLS.txt
  3. Cuando se te indique, ingresa tu nombre de usuario GitHub Enterprise Server:

    Ingresa el nombre de usuario autorizado para la migración: admin
  4. Cuando se te pida un token de acceso personal, ingresa el token de acceso que creaste en"Preparación de GitHub Enterprise Server la instancia de origen":

    Ingresa el token de acceso personal:  **************
  5. Cuando ghe-migrator add haya terminado, imprimirá el "GUID de migración" único que generó para identificar esta exportación, así como una lista de los recursos que se agregaron a la exportación. Utilizarás el GUID de migración que generaste en los pasos posteriores ghe-migrator add yghe-migrator export para indicar a ghe-migrator que continúe operando en la misma exportación.

    > 101 models added to export
    > Migration GUID: example-migration-guid
    > Number of records in this migration:
    > users                        |  5
    > organizations                |  1
    > repositories                 |  1
    > teams                        |  3
    > protected_branches           |  1
    > pull_request_reviews         |  1
    > milestones                   |  1
    > issues                       |  3
    > pull_requests                |  5
    > pull_request_review_comments |  4
    > commit_comments              |  2
    > issue_comments               | 10
    > issue_events                 | 63
    > releases                     |  3
    > attachments                  |  4
    > projects                     |  2

    Cada vez que agregues un repositorio nuevo con un GUID de migración existente, se actualizará la exportación existente. Si ejecutas ghe-migrator add nuevamente sin un GUID de migración, comenzará una nueva exportación y generará un nuevo GUID de migración. No vuelvas a utilizar el GUID de migración generado durante una exportación cuando comiences a preparar tu migración para importar.

  6. Si bloqueaste el repositorio de origen, puedes usar el comando ghe-migrator target_url para configurar un mensaje de bloqueo personalizado en la página del repositorio que vincula con la nueva ubicación del repositorio. Pasa la URL del repositorio de origen, la URL del repositorio de destino y el GUID de migración del Paso 5:

    $ ghe-migrator target_url https://hostname/username/reponame https://target_hostname/target_username/target_reponame -g MIGRATION_GUID
  7. Usa el comando ghe-migrator add con el indicador -g para agregar más repositorios a la misma exportación. Pasarás la nueva URL del repositorio y el GUID de migración del Paso 5:

    $ ghe-migrator add https://hostname/username/other_reponame -g MIGRATION_GUID --lock
  8. Cuando hayas terminado de agregar repositorios, genera el archivo de migración con el comando ghe-migrator export con el indicador -g y el GUID de migración del Paso 5:

    $ ghe-migrator export -g MIGRATION_GUID
    > Archivo guardado en: /data/github/current/tmp/MIGRATION_GUID.tar.gz
    • Para especificar en donde se deben escalar los archivos de migración de acuerdo con la etapa, anexa el comando con --staging-path=/full/staging/path. La ruta predeterminada es /data/user/tmp.
  9. Cierra la conexión a tu instancia de GitHub Enterprise Server:

    $ exit
    > logout
    > Connection to hostname closed.
  10. Copia el archivo de migración a tu computadora con el comando scp. Se te asignará al archivo de almacenamiento un nombre con el GUID de migración:

    $ scp -P 122 admin@hostname:/data/github/current/tmp/MIGRATION_GUID.tar.gz ~/Desktop
  11. Para preparar los datos de migración archivados para importarlos a la instancia de GitHub Enterprise Server, consulta la sección "Prepararse para migrar los datos a tu empresa".

¿Te ayudó este documento?

Política de privacidad

¡Ayúdanos a hacer geniales estos documentos!

Todos los documentos de GitHub son de código abierto. ¿Notas algo que esté mal o que no sea claro? Emite una solicitud de cambios.

Haz una contribución

O, aprende cómo contribuir.