Применение импортированных данных к GitHub Enterprise Server
Перед миграцией данных на предприятие необходимо подготовить данные и устранить любые конфликты. Дополнительные сведения см. в разделе Подготовка к переносу данных в ваше предприятие.
После подготовки данных и разрешения конфликтов можно применить импортированные данные к GitHub Enterprise Server.
-
Как администратор сайта подключите SSH к целевому экземпляру GitHub Enterprise Server.
$ ssh -p 122 admin@HOSTNAME
-
С помощью команды
ghe-migrator import
запустите процесс импорта. Что вам понадобится:- GUID миграции. Дополнительные сведения см. в разделе Подготовка к переносу данных в ваше предприятие.
- personal access token для проверки подлинности. personal access token, который вы используете только для проверки подлинности в качестве администратора сайта и не требует определенной области. Дополнительные сведения см. в разделе Создание personal access token.
$ ghe-migrator import /home/admin/MIGRATION-GUID.tar.gz -g MIGRATION-GUID -u USERNAME -p TOKEN > Starting GitHub::Migrator > Import 100% complete /
- Чтобы указать, где следует выполнить подготовку файлов миграции, добавьте команду с
--staging-path=/full/staging/path
. По умолчанию —/data/user/tmp
.
Проверка данных миграции
По умолчанию ghe-migrator audit
возвращает каждую запись. Кроме того, это позволяет фильтровать записи по следующим критериям:
- Типы записей.
- Состояние записей.
Типы записей соответствуют тем, которые находятся в перенесенных данных.
Фильтры типов записей
Тип записи | Имя фильтра |
---|---|
Пользователи | user |
Организации | organization |
Репозитории | repository |
Teams | team |
Вехи | milestone |
Панели проектов | project |
Проблемы | issue |
Комментарии к проблеме | issue_comment |
Запросы на вытягивание | pull_request |
Проверки запросов на включение изменений | pull_request_review |
Комментарии фиксации | commit_comment |
Комментарии к проверке запроса на вытягивание | pull_request_review_comment |
Выпуски | release |
Действия, выполняемые для запросов на вытягивание или проблем | issue_event |
Защищенные ветви | protected_branch |
Фильтры состояния записи
Состояние записи | Описание |
---|---|
export | Запись будет экспортирована. |
import | Запись будет импортирована. |
map | Запись будет сопоставлена. |
rename | Запись будет сопоставлена. |
merge | Запись будет объединена. |
exported | Запись экспортирована успешно. |
imported | Запись импортирована успешно. |
mapped | Запись сопоставлена успешно. |
renamed | Запись переименована успешно. |
merged | Запись объединена успешно. |
failed_export | Не удалось экспортировать запись. |
failed_import | Не удалось импортировать запись. |
failed_map | Не удалось сопоставить запись. |
failed_rename | Не удалось переименовать запись. |
failed_merge | Не удалось объединить запись. |
Фильтрация записей аудита
С помощью команды ghe-migrator audit
можно отфильтровать данные по типу записи с помощью флага -m
. Аналогичным образом можно отфильтровать состояние импорта с помощью флага -s
. Эта команда выглядит следующим образом:
$ ghe-migrator audit -m RECORD_TYPE -s STATE -g MIGRATION-GUID
Например, чтобы просмотреть каждую успешно импортированную организацию и команду, необходимо ввести следующее:
$ ghe-migrator audit -m organization,team -s mapped,renamed -g MIGRATION-GUID
> model_name,source_url,target_url,state
> organization,https://gh.source/octo-org/,https://ghe.target/octo-org/,renamed
Настоятельно рекомендуется проводить аудит каждой операции импорта, завершившейся сбоем. Для этого введите:
$ ghe-migrator audit -s failed_import,failed_map,failed_rename,failed_merge -g MIGRATION-GUID
> model_name,source_url,target_url,state
> user,https://gh.source/octocat,https://gh.target/octocat,failed
> repository,https://gh.source/octo-org/octo-project,https://ghe.target/octo-org/octo-project,failed
Если у вас возникли проблемы с ошибками импорта, обратитесь к Поддержка GitHub Enterprise.
Завершение импорта в GitHub Enterprise Server
После применения миграции к целевому экземпляру и проверки миграции следует разблокировать репозитории и удалить их из источника. Перед удалением исходных данных рекомендуется подождать около двух недель, чтобы убедиться, что все работает должным образом.
Разблокировка репозиториев на целевом экземпляре
-
Подключение по протоколу SSH к экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Дополнительные сведения о доступе к SSH см. в разделе Доступ к административной оболочке (SSH).
1. Разблокируйте все импортированные репозитории с помощью команды `ghe-migrator unlock`. Вам потребуется GUID миграции:$ ssh -p 122 admin@HOSTNAME
$ ghe-migrator unlock -g MIGRATION-GUID > Unlocked octo-org/octo-project
Разблокировка репозиториев в источнике
Разблокировка репозиториев из организации в GitHub.com
Чтобы разблокировать репозитории в организации GitHub.com, отправьте запрос DELETE
в конечную точку разблокировки миграции. Что вам понадобится:
- Маркер доступа для проверки подлинности
- Уникальный
id
миграции - Имя репозитория для разблокировки
curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \
-H "Accept: application/vnd.github.wyandotte-preview+json" \
https://api.github.com/orgs/ORG-NAME/migrations/ID/repos/REPO_NAME/lock
Удаление репозиториев из организации в GitHub.com
После разблокировки репозиториев организации GitHub.com следует удалить каждый репозиторий, перенесенный ранее с помощью конечной точки удаления репозитория. Вам потребуется маркер доступа для проверки подлинности
curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \
https://api.github.com/repos/ORG-NAME/REPO_NAME
Разблокировка репозиториев из экземпляра GitHub Enterprise Server
-
Подключение по протоколу SSH к экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Дополнительные сведения о доступе к SSH см. в разделе Доступ к административной оболочке (SSH).
1. Разблокируйте все импортированные репозитории с помощью команды `ghe-migrator unlock`. Вам потребуется GUID миграции:$ ssh -p 122 admin@HOSTNAME
$ ghe-migrator unlock -g MIGRATION-GUID > Unlocked octo-org/octo-project