Skip to main content

Настройка хранилища BLOB-объектов

Архивы из GitLab должны быть временно сохранены, чтобы GitHub их можно было прочитать.

Для большинства клиентов рекомендуется хранить архивы с GitHub-owned blob storageпомощью . Это самый простой путь и не требует дополнительной конфигурации.

Однако может потребоваться настроить хранилище с внешним поставщиком, если у вас есть требования к брандмауэру или необходимо сохранить архивы после завершения миграции.

Выбор места выполнения архивов

Экспортирует GL2GH extension каждый проект GitLab в архив, а затем отправляет архив в хранилище BLOB-объектов, из которых GitHub можно прочитать. При выполнении миграции вы выбираете серверную часть хранилища.

Вариант храненияКак выбрать егоПримечания

GitHub-owned blob storage (рекомендуется) | --use-github-storage | Установка не требуется. GitHub удаляет архив автоматически после успешной миграции или семь дней после неудачной миграции. AWS S3 | --aws-bucket-nameAWS_REGION``AWS_ACCESS_KEY_IDпеременными среды и AWS_SECRET_ACCESS_KEY переменными среды, а также при необходимости AWS_SESSION_TOKEN) | Вы владеете контейнером и его жизненным циклом. GitHub не удаляет архивы из хранилища. Хранилище BLOB-объектов Azure (Азур Блоб Сторадж) | AZURE_STORAGE_CONNECTION_STRING переменная среды (для одной migrate-repo команды можно использовать --azure-storage-connection-string) | Поддерживаются только строки подключения к ключу доступа к учетной записи хранения (а не SAS). GitHub не удаляет архивы из хранилища.

Настройка хранилища BLOB-объектов

Если вы используете GitHub-owned blob storage, вам не нужно ничего настраивать. Вы будете --use-github-storage использовать флаг для выбора этого метода с помощью интерфейса командной строки. Однако может потребоваться задать GITHUB_OWNED_STORAGE_MULTIPART_MEBIBYTES переменную (по умолчанию 100 МиБ, минимум 5 МиБ) меньшее число, если у вас есть медленное или прокси-подключение.

Если вы используете внешнее хранилище BLOB-объектов, необходимо настроить его.

Настройка контейнера хранилища AWS S3

В AWS настройте контейнер S3. Дополнительные сведения см. в разделе "Создание контейнера " в документации ПО AWS.

Вам также потребуется ключ доступа AWS и секретный ключ со следующими разрешениями:

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

Примечание.

GitHub Enterprise Importer не удаляет архив из AWS после завершения миграции. Чтобы сократить затраты на хранение, рекомендуется настроить автоматическое удаление архива через период времени. Дополнительные сведения см. в разделе Настройка конфигурации жизненного цикла в контейнере в документации AWS.

Когда вы будете готовы к миграции, вам потребуется предоставить учетные данные AWS в GitHub CLI: регион, ключ доступа, секретный ключ и маркер сеанса (при необходимости). Их можно передать в качестве аргументов или задать переменные среды, называемые AWS_REGION, и AWS_SESSION_TOKEN``AWS_ACCESS_KEY_ID``AWS_SECRET_ACCESS_KEY.

Кроме того, необходимо передать имя контейнера S3 с помощью аргумента --aws-bucket-name .

Настройка учетной записи хранения Хранилище BLOB-объектов Azure

В Azure создайте учетную запись хранения и запишите строка подключения. Дополнительные сведения см. в разделе "Управление ключами доступа к учетной записи хранения" в Документация Майкрософт.

Примечание.

GitHub Enterprise Importer не удаляет архив из Хранилище BLOB-объектов Azure после завершения миграции. Чтобы сократить затраты на хранение, рекомендуется настроить автоматическое удаление архива через период времени. Дополнительные сведения см. в статье "Оптимизация затрат путем автоматического управления жизненным циклом данных в Документация Майкрософт".

Когда вы будете готовы выполнить миграцию, вы можете передать строка подключения в GitHub CLI в качестве аргумента или передать его с помощью переменной AZURE_STORAGE_CONNECTION_STRINGсреды.

Разрешение сетевого доступа

Если вы настроили правила брандмауэра в учетной записи хранения, убедитесь, что у вас есть доступ к диапазонам IP-адресов для назначения миграции. См . раздел AUTOTITLE.