Подготовка исходной организации к
Убедитесь, что у вас есть разрешения владельца в репозиториях исходной организации.
Создание маркера доступа с
repo
областями иadmin:org
областями в .com.Чтобы свести к минимуму время простоя, создайте список репозиториев, которые необходимо экспортировать из исходного экземпляра. Можно добавить сразу несколько репозиториев для экспорта с помощью текстового файла, в котором указаны URL-адреса каждого репозитория в отдельной строке.
Экспорт репозиториев организации
Примечание.
Связи вилок не сохраняются после миграции.
Чтобы экспортировать данные репозитория из .com, используйте API миграций.
API миграций в настоящее время доступен в предварительной версии. Это означает, что конечные точки и параметры могут быть изменены в будущем.
Создание архива миграции
Примечание.
Блокировка репозитория предотвращает доступ на запись к репозиторию. Связать новые команды или участников совместной работы с заблокированным репозиторием невозможно.
Если вы выполняете пробный запуск, блокировать репозиторий не нужно. При переносе данных из используемого репозитория настоятельно рекомендует блокировать репозиторий. Дополнительные сведения см. в разделе Сведения о миграции ghe-миграции.
Уведомите членов вашей организации о том, что вы планируете выполнять миграцию. Экспорт может занять несколько минут в зависимости от количества экспортируемых репозиториев. Полная миграция, включая импорт, может занять несколько часов, поэтому рекомендуется выполнить пробный запуск, чтобы определить, сколько времени займет весь процесс. Дополнительные сведения см. в разделе Сведения о миграции ghe-миграции.
Запустите миграцию, отправив запрос
POST
к конечной точке миграции. Что вам понадобится:Маркер доступа для проверки подлинности
Список репозиториев, которые требуется перенести:
curl -H "Authorization: Bearer _ACCESS_TOKEN" \ -X POST \ -H "Accept: application/vnd.+json" \ -d'{"lock_repositories":true,"repositories":["ORG_NAME/REPO_NAME", "ORG_NAME/REPO_NAME"]}' \ https://api..com/orgs/ORG_NAME/migrations
Если вы хотите заблокировать репозитории перед их переносом, убедитесь, что для параметра
lock_repositories
задано значениеtrue
. Настоятельно рекомендуется сделать это.Вы можете исключить вложения файлов, передав
exclude_attachments: true
в конечную точку. Вложения файлов могут быть большими и могут без необходимости увеличить размер окончательного архива миграции. Окончательный размер архива должен быть меньше 20 ГБ.
Этот запрос возвращает уникальный объект
id
, представляющий миграцию. Он потребуется для последующих вызовов API миграций.Отправьте запрос
GET
в конечную точку статуса миграции, чтобы получить статус миграции. Что вам понадобится:Маркер доступа для проверки подлинности
Уникальный
id
миграции:curl -H "Authorization: Bearer _ACCESS_TOKEN" \ -H "Accept: application/vnd.+json" \ https://api..com/orgs/ORG_NAME/migrations/ID
Миграция может находиться в одном из указанных ниже состояний.
pending
— это означает, что миграция еще не запущена.exporting
— это означает, что миграция находится в процессе выполнения.exported
— это означает, что миграция успешно завершена.failed
— это означает, что миграция завершилась сбоем.
После экспорта миграции скачайте архив миграции, отправив запрос
GET
к конечной точке загрузки миграции. Что вам понадобится:Маркер доступа для проверки подлинности
Уникальный
id
миграции:curl -H "Authorization: Bearer _ACCESS_TOKEN" \ -H "Accept: application/vnd.+json" \ -L -o migration_archive.tar.gz \ https://api..com/orgs/ORG_NAME/migrations/ID/archive
Архив миграции автоматически удаляется через семь дней. Если вы предпочитаете удалить его раньше, можно отправить запрос
DELETE
в конечную точку удаления архива миграции. Что вам понадобится:Маркер доступа для проверки подлинности
Уникальный
id
миграции:curl -H "Authorization: Bearer _ACCESS_TOKEN" \ -X DELETE \ -H "Accept: application/vnd.+json" \ https://api..com/orgs/ORG_NAME/migrations/ID/archive
Сведения о подготовке архивных данных миграции для импорта в экземпляр Enterprise Server см. в разделе Перенос данных на Enterprise Server.