Подготовка исходного экземпляра GitHub Enterprise Server
-
Убедитесь, что вы являетесь администратором сайта в источнике GitHub Enterprise Server. Лучший способ сделать это — обеспечить возможность доступа по SSH к экземпляру.
-
Создание маркера доступа с
repo
областями иadmin:org
областями в исходном экземпляре GitHub Enterprise Server. -
Чтобы свести к минимуму время простоя, создайте список репозиториев, которые необходимо экспортировать из исходного экземпляра. Можно добавить сразу несколько репозиториев для экспорта с помощью текстового файла, в котором указаны URL-адреса каждого репозитория в отдельной строке.
Экспорт исходных репозиториев GitHub Enterprise Server
Note
Блокировка репозитория предотвращает доступ на запись к репозиторию. Связать новые команды или участников совместной работы с заблокированным репозиторием невозможно.
Если вы выполняете пробный запуск, блокировать репозиторий не нужно. При переносе данных из используемого репозитория GitHub настоятельно рекомендует блокировать репозиторий. Дополнительные сведения см. в разделе «Сведения о миграции ghe-миграции».
-
SSH в ваш экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Замените HOSTNAME именем узла для экземпляра, именем узла или IP-адресом узла. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
Чтобы подготовить репозиторий для экспорта, используйте команду
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
-
-
При появлении запроса введите имя пользователя GitHub Enterprise Server:
Enter username authorized for migration: admin
-
При появлении запроса на personal access tokenвведите маркер доступа, созданный при подготовке исходного экземпляра GitHub Enterprise Server:
Enter personal access token: **************
-
По завершении выполнения
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 миграции, созданный во время экспорта при подготовке миграции к импорту. -
Чтобы добавить дополнительные репозитории в ту же операцию экспорта, используйте команду
ghe-migrator add
с флагом-g
. Вы передадите новый URL-адрес репозитория и GUID миграции из шага 5.ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock
-
Завершив добавление репозиториев, создайте архив миграции с использованием команды
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
.
- Чтобы указать, где следует выполнить подготовку файлов миграции, добавьте команду с
-
Закройте подключение к ваш экземпляр GitHub Enterprise Server:
$ exit > logout > Connection to HOSTNAME closed.
-
Скопируйте архив миграции на компьютер с помощью команды
scp
. При присвоении имени файлу архива будет использоваться GUID миграции:scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop
-
Сведения о подготовке архивных данных миграции для импорта в экземпляр GitHub Enterprise Server см. в разделе "Перенос данных на GitHub Enterprise Server".