Skip to main content

Configurar o armazenamento de blobs

Os arquivos do GitLab precisam ser armazenados temporariamente para que GitHub possam lê-los.

Para a maioria dos clientes, recomendamos armazenar arquivos com GitHub-owned blob storage. Esse é o caminho mais simples e não requer nenhuma configuração extra.

No entanto, talvez você queira configurar o armazenamento com um provedor externo se tiver requisitos de firewall ou precisar reter arquivos após a conclusão da migração.

Escolhendo onde preparar arquivos

O GL2GH extension gitlab exporta cada projeto do GitLab para um arquivo morto e, em seguida, carrega o arquivo morto no armazenamento de blobs que GitHub pode ser lido. Você escolhe o back-end de armazenamento ao executar uma migração.

Opção de armazenamentoComo selecioná-loObservações

GitHub-owned blob storage (recomendado) | --use-github-storage | Nenhuma configuração é necessária. GitHub exclui o arquivo morto automaticamente após uma migração bem-sucedida ou sete dias após uma migração com falha. AWS S3 | --aws-bucket-name (com as AWS_REGIONvariáveis , AWS_ACCESS_KEY_IDe AWS_SECRET_ACCESS_KEY ambiente e, opcionalmente AWS_SESSION_TOKEN) | Você tem o bucket e seu ciclo de vida. GitHub não exclui arquivos do armazenamento. Armazenamento de Blobs do Azure | AZURE_STORAGE_CONNECTION_STRING variável de ambiente (para um único migrate-repo comando, você pode usar --azure-storage-connection-string) | Há suporte apenas para cadeias de conexão de chave de acesso de conta de armazenamento (não SAS). GitHub não exclui arquivos do armazenamento.

Configurando o armazenamento de blobs

Se você estiver usando GitHub-owned blob storage, não precisará configurar nada. Você usará o --use-github-storage sinalizador para selecionar esse método com a CLI. No entanto, talvez você queira definir a GITHUB_OWNED_STORAGE_MULTIPART_MEBIBYTES variável (padrão 100 MiB, mínimo de 5 MiB) para um número menor se você tiver uma conexão lenta ou com proxie.

Se você estiver usando o armazenamento de blobs externo, precisará configurar isso.

Como configurar um bucket de armazenamento da AWS S3

Na AWS, configure um bucket da S3. Para obter mais informações, confira Como criar um bucket na documentação da AWS.

Você também precisará de uma chave de acesso da AWS e uma chave secreta com as seguintes permissões:

{
    "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/*"
            ]
        }
    ]
}

Observação

O GitHub Enterprise Importer não exclui o arquivo da AWS após a conclusão da migração. Para reduzir os custos de armazenamento, recomendamos configurar a exclusão automática do arquivo após um período. Para obter mais informações, confira Como definir a configuração do ciclo de vida em um bucket na documentação da AWS.

Quando estiver pronto para executar a migração, você precisará fornecer suas credenciais da AWS para a GitHub CLI: região, chave de acesso, chave secreta e token de sessão (se necessário). Você pode transmiti-los como argumentos ou definir variáveis de ambiente chamadas AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY e AWS_SESSION_TOKEN.

Você também precisará transmitir o nome do bucket do S3 usando o argumento --aws-bucket-name.

Como configurar uma conta de armazenamento do Armazenamento de Blobs do Azure

No Azure, crie uma conta de armazenamento e anote a cadeia de conexão. Para obter mais informações, confira Gerenciar chaves de acesso da conta de armazenamento no Microsoft Docs.

Observação

O GitHub Enterprise Importer não exclui o arquivo do Armazenamento de Blobs do Azure após a conclusão da migração. Para reduzir os custos de armazenamento, recomendamos configurar a exclusão automática do arquivo após um período. Para obter mais informações, confira Otimizar os custos gerenciando automaticamente o ciclo de vida dos dados no Microsoft Docs.

Quando estiver pronto para executar a migração, transmita a cadeia de conexão para a GitHub CLI como um argumento ou usando uma variável de ambiente chamada AZURE_STORAGE_CONNECTION_STRING.

Como permitir o acesso à rede

Se você configurou regras de firewall na sua conta de armazenamento, verifique se permitiu o acesso aos intervalos de IP para o destino de migração. Consulte Gerenciar o acesso para uma migração do GitLab para o GitHub.