{"meta":{"title":"Экспорт данных миграции с GitHub Enterprise Server","intro":"Чтобы изменить платформы или перейти с пробного экземпляра на рабочий экземпляр, можно экспортировать данные миграции из GitHub Enterprise Server экземпляра, подготовив экземпляр, заблокировав репозитории и создав архив миграции.","product":"Миграции","breadcrumbs":[{"href":"/ru/migrations","title":"Миграции"},{"href":"/ru/migrations/using-ghe-migrator","title":"ghe-migrator"},{"href":"/ru/migrations/using-ghe-migrator/exporting-migration-data-from-github-enterprise-server","title":"Экспорт из GHES"}],"documentType":"article"},"body":"# Экспорт данных миграции с GitHub Enterprise Server\n\nЧтобы изменить платформы или перейти с пробного экземпляра на рабочий экземпляр, можно экспортировать данные миграции из GitHub Enterprise Server экземпляра, подготовив экземпляр, заблокировав репозитории и создав архив миграции.\n\n## Подготовка исходного экземпляра GitHub Enterprise Server\n\n1. Убедитесь, что вы являетесь администратором сайта в источнике GitHub Enterprise Server . Лучший способ сделать это — обеспечить возможность доступа по [SSH к экземпляру](/ru/enterprise-server@3.22/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh).\n\n2. [Создание маркера](/ru/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) доступа с `repo` областями и `admin:org` областями в исходном экземпляре GitHub Enterprise Server .\n\n3. Чтобы свести к минимуму время простоя, создайте список репозиториев, которые необходимо экспортировать из исходного экземпляра. Можно добавить сразу несколько репозиториев для экспорта с помощью текстового файла, в котором указаны URL-адреса каждого репозитория в отдельной строке.\n\n## Экспорт исходных GitHub Enterprise Server репозиториев\n\n> \\[!NOTE]\n> Блокировка репозитория предотвращает доступ на запись к репозиторию. Связать новые команды или участников совместной работы с заблокированным репозиторием невозможно.\n>\n> Если вы выполняете пробный запуск, блокировать репозиторий не нужно. При переносе данных из используемого репозитория GitHub настоятельно рекомендует блокировать репозиторий. Дополнительные сведения см. в разделе [Сведения о миграции ghe-миграции](/ru/migrations/using-ghe-migrator/about-ghe-migrator#types-of-migrations).\n\n1. SSH в GitHub.com. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Замените HOSTNAME именем узла для экземпляра, именем узла или IP-адресом узла. Дополнительные сведения см. в разделе [Доступ к административной оболочке (SSH)](/ru/enterprise-server@3.22/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh).\n\n   ```shell copy\n   ssh -p 122 admin@HOSTNAME\n   ```\n\n2. Чтобы подготовить репозиторий для экспорта, используйте команду `ghe-migrator add` с URL-адресом репозитория:\n   * Если вы блокируете репозиторий, добавьте команду с помощью `--lock`. Если вы выполняете пробный запуск, `--lock` не требуется.\n\n     ```shell\n     ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock\n     ```\n\n   * Вы можете исключить вложения файлов, добавив `--exclude_attachments` в команду. Вложения файлов могут быть большими и могут без необходимости увеличить размер окончательного архива миграции.\n\n   * Чтобы подготовить сразу несколько репозиториев для экспорта, создайте текстовый файл со списком всех URL-адресов репозиториев в отдельной строке и выполните команду `ghe-migrator add` с использованием флага `-i` и путем к текстовому файлу.\n\n     ```shell\n     ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt\n     ```\n\n3. При появлении запроса введите имя GitHub Enterprise Server пользователя:\n\n   ```shell\n   Enter username authorized for migration:  admin\n   ```\n\n4. При появлении запроса personal access tokenвведите маркер доступа, созданный при [подготовке исходного экземпляраGitHub Enterprise Server](#preparing-the-github-enterprise-server-source-instance):\n\n   ```shell\n   Enter personal access token:  **************\n   ```\n\n5. По завершении выполнения `ghe-migrator add` на печать будет выведен уникальный GUID миграции, созданный для идентификации этой операции экспорта, а также список ресурсов, добавленных в операцию экспорта. Вы будете использовать GUID миграции, созданный в последующих шагах `ghe-migrator add` и `ghe-migrator export`, чтобы сообщить `ghe-migrator` о необходимости продолжить работу с той же операции экспорта.\n\n   ```shell\n   > 101 models added to export\n   > Migration GUID: EXAMPLE-MIGRATION-GUID\n   > Number of records in this migration:\n   > users                        |  5\n   > organizations                |  1\n   > repositories                 |  1\n   > teams                        |  3\n   > protected_branches           |  1\n   > pull_request_reviews         |  1\n   > milestones                   |  1\n   > issues                       |  3\n   > pull_requests                |  5\n   > pull_request_review_comments |  4\n   > commit_comments              |  2\n   > issue_comments               | 10\n   > issue_events                 | 63\n   > releases                     |  3\n   > attachments                  |  4\n   > projects                     |  2\n   ```\n\n   Каждый раз при добавлении нового репозитория с существующим GUID миграции существующая операция экспорта обновляется. При повторном запуске `ghe-migrator add` без GUID миграции запускается новая операция экспорта и создается новый GUID миграции.\n   **Не используйте GUID миграции, созданный во время экспорта при подготовке миграции к импорту**.\n\n6. Чтобы добавить дополнительные репозитории в ту же операцию экспорта, используйте команду `ghe-migrator add` с флагом `-g`. Вы передадите новый URL-адрес репозитория и GUID миграции из шага 5.\n\n   ```shell\n   ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock\n   ```\n\n7. Завершив добавление репозиториев, создайте архив миграции с использованием команды `ghe-migrator export` с флагом `-g` и GUID миграции на шаге 5:\n\n   ```shell\n   $ ghe-migrator export -g MIGRATION-GUID\n   > Archive saved to: /data/github/current/tmp/MIGRATION-GUID.tar.gz\n   ```\n\n   * Чтобы указать, где следует выполнить подготовку файлов миграции, добавьте команду с `--staging-path=/full/staging/path`. По умолчанию — `/data/user/tmp`.\n\n8. Закройте подключение к GitHub.com:\n\n   ```shell\n   $ exit\n   > logout\n   > Connection to HOSTNAME closed.\n   ```\n\n9. Скопируйте архив миграции на компьютер с помощью команды [`scp`](https://acloudguru.com/blog/engineering/ssh-and-scp-howto-tips-tricks#scp). При присвоении имени файлу архива будет использоваться GUID миграции:\n\n   ```shell\n   scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop\n   ```\n\n10. Сведения о подготовке архивных данных миграции для импорта в экземпляр GitHub Enterprise Server см. в разделе [Миграция данных на GitHub Enterprise Server](/ru/migrations/using-ghe-migrator/migrating-data-to-github-enterprise-server#preparing-the-migrated-data)."}