Skip to main content

Экспорт миграционных данных из #REF!.com

Данные миграции можно экспортировать из организации на GitHub.com. Для этого выберите нужные репозитории с помощью API, а затем создайте архив миграции, который можно импортировать в экземпляр GitHub Enterprise Server.

Подготовка исходной организации к GitHub

  1. Убедитесь, что у вас есть разрешения владельца в репозиториях исходной организации.

  2. Создание маркера доступа с repo областями и admin:org областями в GitHub.com.

  3. Чтобы свести к минимуму время простоя, создайте список репозиториев, которые необходимо экспортировать из исходного экземпляра. Можно добавить сразу несколько репозиториев для экспорта с помощью текстового файла, в котором указаны URL-адреса каждого репозитория в отдельной строке.

Экспорт репозиториев организации

Примечание.

Связи вилок не сохраняются после миграции.

Чтобы экспортировать данные репозитория из GitHub.com, используйте API миграций.

API миграций в настоящее время доступен в предварительной версии. Это означает, что конечные точки и параметры могут быть изменены в будущем.

Создание архива миграции

Примечание.

Блокировка репозитория предотвращает доступ на запись к репозиторию. Связать новые команды или участников совместной работы с заблокированным репозиторием невозможно.

Если вы выполняете пробный запуск, блокировать репозиторий не нужно. При переносе данных из используемого репозитория GitHub настоятельно рекомендует блокировать репозиторий. Дополнительные сведения см. в разделе Сведения о миграции ghe-миграции.

  1. Уведомите членов вашей организации о том, что вы планируете выполнять миграцию. Экспорт может занять несколько минут в зависимости от количества экспортируемых репозиториев. Полная миграция, включая импорт, может занять несколько часов, поэтому рекомендуется выполнить пробный запуск, чтобы определить, сколько времени займет весь процесс. Дополнительные сведения см. в разделе AUTOTITLE.

  2. Запустите миграцию, отправив запрос к конечной точке миграции. Что вам понадобится:

    • Маркер доступа для проверки подлинности

    • Список репозиториев, которые требуется перенести:

      curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \
      -X POST \
      -H "Accept: application/vnd.github+json" \
      -d'{"lock_repositories":true,"repositories":["ORG_NAME/REPO_NAME", "ORG_NAME/REPO_NAME"]}' \
      https://api.github.com/orgs/ORG_NAME/migrations
      
    • Если вы хотите заблокировать репозитории перед их переносом, убедитесь, что для параметра задано значение . Настоятельно рекомендуется сделать это.

    • Вы можете исключить вложения файлов, передав в конечную точку. Вложения файлов могут быть большими и могут без необходимости увеличить размер окончательного архива миграции. Окончательный размер архива должен быть меньше 20 ГБ.

    Этот запрос возвращает уникальный объект , представляющий миграцию. Он потребуется для последующих вызовов API миграций.

  3. Отправьте запрос в конечную точку статуса миграции, чтобы получить статус миграции. Что вам понадобится:

    • Маркер доступа для проверки подлинности

    • Уникальный миграции:

      curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \
      -H "Accept: application/vnd.github+json" \
      https://api.github.com/orgs/ORG_NAME/migrations/ID
      

    Миграция может находиться в одном из указанных ниже состояний.

    • — это означает, что миграция еще не запущена.
    • — это означает, что миграция находится в процессе выполнения.
    • — это означает, что миграция успешно завершена.
    • — это означает, что миграция завершилась сбоем.
  4. После экспорта миграции скачайте архив миграции, отправив запрос к конечной точке загрузки миграции. Что вам понадобится:

    • Маркер доступа для проверки подлинности

    • Уникальный миграции:

      curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \
      -H "Accept: application/vnd.github+json" \
      -L -o migration_archive.tar.gz \
      https://api.github.com/orgs/ORG_NAME/migrations/ID/archive
      
  5. Архив миграции автоматически удаляется через семь дней. Если вы предпочитаете удалить его раньше, можно отправить запрос в конечную точку удаления архива миграции. Что вам понадобится:

    • Маркер доступа для проверки подлинности

    • Уникальный миграции:

      curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \
      -X DELETE \
      -H "Accept: application/vnd.github+json" \
      https://api.github.com/orgs/ORG_NAME/migrations/ID/archive
      
  6. Сведения о подготовке архивных данных миграции для импорта в экземпляр GitHub Enterprise Server см. в разделе Миграция данных на #REF! Enterprise Server.