Для большинства клиентов рекомендуется хранить архивы с GitHub-owned blob storageпомощью . Это самый простой путь и не требует дополнительной конфигурации.
Однако может потребоваться настроить хранилище с внешним поставщиком, если у вас есть требования к брандмауэру или необходимо сохранить архивы после завершения миграции.
Выбор места выполнения архивов
Экспортирует GL2GH extension каждый проект GitLab в архив, а затем отправляет архив в хранилище BLOB-объектов, из которых GitHub можно прочитать. При выполнении миграции вы выбираете серверную часть хранилища.
| Вариант хранения | Как выбрать его | Примечания |
|---|
GitHub-owned blob storage (рекомендуется) | --use-github-storage | Установка не требуется.
GitHub удаляет архив автоматически после успешной миграции или семь дней после неудачной миграции.
AWS S3 |
--aws-bucket-name(с AWS_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.