Para la mayoría de los clientes, se recomienda almacenar archivos con GitHub-owned blob storage. Esta es la ruta de acceso más sencilla y no requiere ninguna configuración adicional.
Sin embargo, es posible que desee configurar el almacenamiento con un proveedor externo si tiene requisitos de firewall o necesita conservar los archivos una vez completada la migración.
Elección de dónde almacenar provisionalmente los archivos
GL2GH extension Exporta cada proyecto de GitLab a un archivo y, a continuación, carga el archivo en Blob Storage desde el que GitHub se puede leer. Puede elegir el back-end de almacenamiento al ejecutar una migración.
| Opción de almacenamiento | Cómo seleccionarlo | Notas |
|---|
GitHub-owned blob storage (recomendado) | --use-github-storage | No se requiere ninguna configuración.
GitHub elimina el archivo automáticamente después de una migración correcta o siete días después de una migración con error.
AWS S3 |
--aws-bucket-name (con las AWS_REGIONvariables de entorno , AWS_ACCESS_KEY_IDy y AWS_SECRET_ACCESS_KEY , opcionalmente AWS_SESSION_TOKEN, ) | Posee el cubo y su ciclo de vida.
GitHub no elimina los archivos del almacenamiento.
Azure Blob Storage (Servicio de almacenamiento de blobs de Azure) |
AZURE_STORAGE_CONNECTION_STRING variable de entorno (para un solo migrate-repo comando, puede usar --azure-storage-connection-string) | Solo se admiten cadenas de conexión de clave de acceso de la cuenta de almacenamiento (no SAS).
GitHub no elimina los archivos del almacenamiento.
Configuración del almacenamiento de blobs
Si usa GitHub-owned blob storage, no es necesario configurar nada. Usará la --use-github-storage marca para seleccionar este método con la CLI. Sin embargo, es posible que desee establecer la GITHUB_OWNED_STORAGE_MULTIPART_MEBIBYTES variable (100 MiB predeterminado, mínimo 5 MiB) en un número inferior si tiene una conexión lenta o proxied.
Si usa el almacenamiento de blobs externo, deberá configurarlo.
Configuración de un cubo de almacenamiento de AWS S3
En AWS, configura un cubo S3. Para más información, consulta Creación de un cubo en la documentación de AWS.
También necesitará una clave de acceso de AWS y una clave secreta con los siguientes permisos:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucketMultipartUploads",
"s3:AbortMultipartUpload",
"s3:ListBucket",
"s3:DeleteObject",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::github-migration-bucket",
"arn:aws:s3:::github-migration-bucket/*"
]
}
]
}
Nota:
GitHub Enterprise Importer no elimina el archivo de AWS una vez que finaliza la migración. Para reducir los costos de almacenamiento, se recomienda configurar la eliminación automática del archivo después de un período de tiempo. Para más información, consulta Establecimiento de la configuración del ciclo de vida en un cubo en la documentación de AWS.
Cuando estés listo para ejecutar la migración, deberás proporcionar tus credenciales de AWS a GitHub CLI: región, clave de acceso, clave secreta y token de sesión (si es necesario). Puedes pasarlas como argumentos o establecer variables de entorno denominadas AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY y AWS_SESSION_TOKEN.
También deberás pasar el nombre del cubo S3 con el argumento --aws-bucket-name.
Configuración de una cuenta de almacenamiento de Azure Blob Storage
En Azure, crea una cuenta de almacenamiento y anota la cadena de conexión. Para más información, consulta Administración de las claves de acceso de la cuenta de almacenamiento en Microsoft Docs.
Nota:
GitHub Enterprise Importer no elimina el archivo de Azure Blob Storage una vez que finaliza la migración. Para reducir los costos de almacenamiento, se recomienda configurar la eliminación automática del archivo después de un período de tiempo. Para más información, consulta Optimización de los costes mediante la administración automática del ciclo de vida de los datos en Microsoft Docs.
Cuando estés listo para ejecutar la migración, puedes pasar la cadena de conexión a la GitHub CLI como argumento, o bien pasarla mediante una variable de entorno denominada AZURE_STORAGE_CONNECTION_STRING.
Permitir el acceso a la red
Si ha configurado reglas de firewall en la cuenta de almacenamiento, asegúrese de que ha permitido el acceso a los intervalos IP para el destino de la migración. Consulte Administración del acceso de una migración desde GitLab a GitHub.