Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Esta versión de GitHub Enterprise se discontinuó el 2021-03-02. 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.

Prepararse para migrar los datos a tu empresa

Después de generar un archivo de migración, puedes importar los datos a tu instancia de destino del Servidor de GitHub Enterprise. Podrás revisar los cambios para detectar posibles conflictos antes de aplicar de manera permanente los cambios a tu instancia de destino.

En este artículo

Preparar los datos migrados para importarlos a Servidor de GitHub Enterprise

  1. Con el comando scp, copia el archivo de migración generado desde tu instancia u organización de origen a tu Servidor de GitHub Enterprise destino:

    $ scp -P 122 /path/to/archive/MIGRATION_GUID.tar.gz admin@hostname:/home/admin/
  2. Como administrador de sitio, Entra por SSH en tu instancia destino de Servidor de GitHub Enterprise.

    $ ssh -p 122 admin@HOSTNAME
  3. Usa el comando ghe-migrator prepare para preparar el archivo para importar en la instancia de destino y generar un nuevo GUID de Migración para que uses en los pasos subsiguientes:

    ghe-migrator prepare /home/admin/MIGRATION_GUID.tar.gz
    • Para comenzar un nuevo intento de importación, ejecuta ghe-migrator prepare nuevamente y obtén un nuevo GUID de migración.
    • 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.

Generar una lista de conflictos de migración

  1. Con el comando ghe-migrator conflicts con el GUID de migración, genera un archivo conflicts.csv:
    $ ghe-migrator conflicts -g MIGRATION_GUID > conflicts.csv
    • Si no se reporta conflicto alguno, puedes importar los datos de forma segura siguiendo los pasos en la sección "Migrar datos a tu empresa".
  2. Si hay conflictos, con el comando scp, copia conflicts.csv a tu computadora local:
    $ scp -P 122 admin@hostname:conflicts.csv ~/Desktop
  3. Continúa con "Resolver conflictos de migración o crear asignaciones personalizadas".

Revisar conflictos de migración

  1. Con un editor de texto o un software de hoja de cálculo compatible con CSV, abre conflicts.csv.
  2. Con la guía de los ejemplos y las tablas de referencia a continuación, revisa el archivo conflicts.csv para asegurarte de que se tomarán las medidas adecuadas al importar.

El archivo conflicts.csv contiene un mapa de migración de conflictos y acciones recomendadas. Un mapa de migración enumera tanto los datos que se migran desde el origen como la forma en que los datos se aplicarán al destino.

model_namesource_urltarget_urlrecommended_action
usuariohttps://example-gh.source/octocatchttps://example-gh.target/octocatasignar
organizaciónhttps://example-gh.source/octo-orghttps://example-gh.target/octo-orgasignar
repositoriohttps://example-gh.source/octo-org/widgetshttps://example-gh.target/octo-org/widgetsrename (renombrar)
equipohttps://example-gh.source/orgs/octo-org/teams/adminshttps://example-gh.target/orgs/octo-org/teams/adminsfusionar

Cada fila de conflicts.csv proporciona la siguiente información:

NombreDescripción
model_nameEl tipo de datos que se están cambiando.
source_urlLa URL fuente de los datos.
target_urlLa URL de destino esperada de los datos.
recommended_actionLa acción preferida que tomará ghe-migrator al importar los datos.

Asignaciones posibles para cada tipo de registro

Hay varias acciones de asignación diferentes que ghe-migrator puede realizar al transferir datos:

AcciónDescripciónModelos aplicables
importar(predeterminado) Los datos del origen se importan al destino.Todos los tipos de registro
asignarLos datos del origen se reemplazan por los datos existentes en el destino.Usuarios, organizaciones, repositorios
rename (renombrar)Los datos del origen se renombran y luego se copian en el destino.Usuarios, organizaciones, repositorios
asignar_o_renombrarSi el destino existe, asignar a ese destino. De lo contrario, renombrar el modelo importado.Usuarios
fusionarLos datos del origen se combinan con los datos existentes en el destino.Equipos

Te recomendamos ampliamente que revises el archivo conflicts.csv y que utilices ghe-migrator audit para garantizar que se estén tomando las acciones adecuadas. Si todo se ve bien, puedes continuar con las acciones para "Migrar los datos a tu empresa".

Resolver conflictos de migración o crear asignaciones personalizadas

Si crees que ghe-migrator realizará un cambio incorrecto, puedes hacer correcciones cambiando los datos en conflicts.csv. Puedes hacer cambios en cualquiera de las filas en conflicts.csv.

Por ejemplo, supongamos que observas que el usuario octocat del origen se está asignando a octocat en el destino:

model_namesource_urltarget_urlrecommended_action
usuariohttps://example-gh.source/octocatchttps://example-gh.target/octocatasignar

Puedes optar por asignar el usuario a un usuario diferente en el destino. Supongamos que sabes que octocat en realidad debe ser monalisa en el destino. Puedes cambiar la columna target_url en conflicts.csv a monalisa:

model_namesource_urltarget_urlrecommended_action
usuariohttps://example-gh.source/octocatchttps://example-gh.target/monalisaasignar

Como otro ejemplo, si deseas cambiar el nombre del repositorio octo-org/widgets a octo-org/amazing-widgets en la instancia de destino, cambia la target_url a octo-org/amazing-widgets y la recommended_action a rename:

model_namesource_urltarget_urlrecommended_action
repositoriohttps://example-gh.source/octo-org/widgetshttps://example-gh.target/octo-org/amazing-widgetsrename (renombrar)

Agregar asignaciones personalizadas

Una situación común durante una migración es que los usuarios migrados tengan diferentes nombres de usuario en el destino que los que tienen en el origen.

Dada una lista de nombres de usuario en el origen y una lista de nombres de usuario en el destino, puedes crear un archivo CSV con asignaciones personalizadas y luego aplicarlo para garantizar que el nombre de usuario y el contenido de cada usuario se atribuyan correctamente al final de la migración.

Puedes generar rápidamente un CSV de usuarios que se migran en el formato CSV necesario para aplicar asignaciones personalizadas mediante el comando ghe-migrator audit:

$ ghe-migrator audit -m user -g MIGRATION_GUID > users.csv

Ahora, puedes editar ese CSV e ingresar la nueva URL para cada usuario que quieras asignar o renombrar, y luego actualizar la cuarta columna para asignar o renombrar según corresponda.

Por ejemplo, para cambiar el nombre del usuario octocat a monalisa en el https://example-gh.target de destino, debes crear una fila con el siguiente contenido:

model_namesource_urltarget_urlstate
usuariohttps://example-gh.source/octocatchttps://example-gh.target/monalisarename (renombrar)

Se puede usar el mismo proceso para crear asignaciones para cada registro que admita asignaciones personalizadas. Para obtener más información, consulta nuestra tabla sobre las posibles asignaciones de registro.

Aplicar datos de migración modificados

  1. Después de hacer cambios, usa el comando scp para aplicar el conflicts.csv modificado (o cualquier otro csv de asignación en el formato correcto) a la instancia de destino:

    $ scp -P 122 ~/Desktop/conflicts.csv admin@hostname:/home/admin/
  2. Vuelve a asignar los datos de migración con el comando ghe-migrator map, pasando la ruta al archivo csv modificado y al GUID de migración:

    $ ghe-migrator map -i conflicts.csv  -g MIGRATION_GUID
  3. Si el comando ghe-migrator map -i conflicts.csv -g MIGRATION_GUID informa que aún existen conflictos, ejecuta nuevamente el proceso de resolución de conflictos de migración.