Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Экспорт данных миграции из предприятия

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

Подготовка исходного экземпляра GitHub Enterprise Server

  1. Убедитесь, что вы являетесь администратором сайта в источнике GitHub Enterprise Server. Лучший способ сделать это — обеспечить возможность доступа по SSH к экземпляру.

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

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

Экспорт исходных репозиториев GitHub Enterprise Server

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

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

  1. Подключение по протоколу SSH к your GitHub Enterprise Server instance. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Дополнительные сведения о доступе к SSH см. в разделе Доступ к административной оболочке (SSH).

    $ ssh -p 122 admin@HOSTNAME
  2. Чтобы подготовить репозиторий для экспорта, используйте команду ghe-migrator add с URL-адресом репозитория:

    • Если вы блокируете репозиторий, добавьте команду с помощью --lock. Если вы выполняете пробный запуск, --lock не требуется.
      $ ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock
    • Вы можете исключить вложения файлов, добавив --exclude_attachments в команду. Вложения файлов могут быть большими и могут без необходимости увеличить размер окончательного архива миграции.
    • Чтобы подготовить сразу несколько репозиториев для экспорта, создайте текстовый файл со списком всех URL-адресов репозиториев в отдельной строке и выполните команду ghe-migrator add с использованием флага -i и путем к текстовому файлу.
      $ ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt
  3. При появлении запроса введите имя пользователя GitHub Enterprise Server:

    Enter username authorized for migration:  admin
  4. При появлении запроса personal access token введите маркер доступа, созданный в разделе Подготовка исходного экземпляра GitHub Enterprise Server:

    Enter personal access token:  **************
  5. По завершении выполнения ghe-migrator add на печать будет выведен уникальный GUID миграции, созданный для идентификации этой операции экспорта, а также список ресурсов, добавленных в операцию экспорта. Вы будете использовать GUID миграции, созданный в последующих шагах ghe-migrator add и ghe-migrator export, чтобы сообщить ghe-migrator о необходимости продолжить работу с той же операции экспорта.

    > 101 models added to export
    > Migration GUID: EXAMPLE-MIGRATION-GUID
    > Number of records in this migration:
    > users                        |  5
    > organizations                |  1
    > repositories                 |  1
    > teams                        |  3
    > protected_branches           |  1
    > pull_request_reviews         |  1
    > milestones                   |  1
    > issues                       |  3
    > pull_requests                |  5
    > pull_request_review_comments |  4
    > commit_comments              |  2
    > issue_comments               | 10
    > issue_events                 | 63
    > releases                     |  3
    > attachments                  |  4
    > projects                     |  2

    Каждый раз при добавлении нового репозитория с существующим GUID миграции существующая операция экспорта обновляется. При повторном запуске ghe-migrator add без GUID миграции запускается новая операция экспорта и создается новый GUID миграции. Не используйте GUID миграции, созданный во время экспорта при подготовке миграции к импорту.

  6. Если вы заблокировали исходный репозиторий, можно использовать команду ghe-migrator target_url, чтобы задать настраиваемое сообщение о блокировке на странице репозитория, которая содержит ссылку на новое расположение репозитория. Передайте URL-адрес исходного репозитория, URL-адрес целевого репозитория и GUID миграции из шага 5.

    $ ghe-migrator target_url https://HOSTNAME/USERNAME/REPO-NAME https://TARGET-HOSTNAME/TARGET-USER-NAME/TARGET-REPO-NAME -g MIGRATION-GUID
  7. Чтобы добавить дополнительные репозитории в ту же операцию экспорта, используйте команду ghe-migrator add с флагом -g. Вы передадите новый URL-адрес репозитория и GUID миграции из шага 5.

    $ ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock
  8. Завершив добавление репозиториев, создайте архив миграции с использованием команды ghe-migrator export с флагом -g и GUID миграции на шаге 5:

    $ ghe-migrator export -g MIGRATION-GUID
    > Archive saved to: /data/github/current/tmp/MIGRATION-GUID.tar.gz
    • Чтобы указать, где следует выполнить подготовку файлов миграции, добавьте команду с --staging-path=/full/staging/path. По умолчанию — /data/user/tmp.
  9. Закройте подключение к your GitHub Enterprise Server instance:

    $ exit
    > logout
    > Connection to HOSTNAME closed.
  10. Скопируйте архив миграции на компьютер с помощью команды scp. При присвоении имени файлу архива будет использоваться GUID миграции:

    $ scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop
  11. Сведения о подготовке архивных данных миграции для импорта в экземпляр GitHub Enterprise Server см. в разделе Подготовка к переносу данных в организацию.