Сведения о миграции репозитория с помощью GitHub Enterprise Importer
Необходимые компоненты
- Настоятельно рекомендуется выполнить пробную версию миграции и завершить рабочую миграцию в ближайшее время. Дополнительные сведения о пробных запусках см. в разделе "Обзор миграции из Azure DevOps в GitHub Enterprise Cloud".
- Убедитесь, что вы понимаете данные, которые будут перенесены, и известные ограничения поддержки импорта. Дополнительные сведения см. в разделе "Сведения о миграции из Azure DevOps в GitHub Enterprise Cloud".
- Хотя и не требуется, рекомендуется остановить работу во время рабочей миграции. Importer не поддерживает разностную миграцию, поэтому любые изменения, которые происходят во время миграции, не будут переноситься. Если вы решили не останавливать работу во время рабочей миграции, необходимо вручную перенести эти изменения.
- Для целевой организации на GitHub.comнеобходимо быть владелец организации или иметь роль миграции. Дополнительные сведения о роли миграции см. в разделе "Управление доступом к миграции из Azure DevOps".
Шаг 1. Установка ADO2GH extension of the GitHub CLI
Если это первая миграция, необходимо установить ADO2GH extension of the GitHub CLI. Дополнительные сведения о GitHub CLIсм. в разделе "Сведения о GitHub CLI".
Кроме того, можно скачать автономный двоичный файл на странице выпусков для github/gh-ado2gh
репозитория. Этот двоичный gh
файл можно запускать напрямую без префикса.
-
Установите GitHub CLI. Инструкции по установке для GitHub CLI см. в репозитории GitHub CLI.
Примечание. Вам нужна версия 2.4.0 или более позднюю версию GitHub CLI. Вы можете проверка версию, установленную
gh --version
с помощью команды. -
Установите ADO2GH extension.
Shell gh extension install github/gh-ado2gh
gh extension install github/gh-ado2gh
В любой момент, когда вам нужна помощь с данными ADO2GH extension, можно использовать --help
флаг с помощью команды. Например, gh ado2gh --help
перечислит все доступные команды и gh ado2gh migrate-repo --help
отобразит список всех параметров, доступных для migrate-repo
команды.
Шаг 2. Обновление ADO2GH extension of the GitHub CLI
Данные ADO2GH extension of the GitHub CLI обновляются еженедельно. Чтобы убедиться, что вы используете последнюю версию, обновите расширение.
gh extension upgrade github/gh-ado2gh
gh extension upgrade github/gh-ado2gh
Шаг 3. Задание переменных среды
Прежде чем использовать ADO2GH extension для миграции на GitHub Enterprise Cloud, необходимо создать personal access tokens, которые могут получить доступ к исходным и целевым организациям, а затем задать personal access tokens в качестве переменных среды.
-
Создайте и запишите personal access token, которая будет проходить проверку подлинности для целевой организации на GitHub Enterprise Cloud, убедившись, что маркер соответствует всем требованиям. Дополнительные сведения см. в разделе Управление доступом к миграции из Azure DevOps.
-
Создайте и запишите personal access token, которые будут проходить проверку подлинности для исходной организации в Azure DevOps, убедившись, что этот маркер соответствует всем требованиям. Дополнительные сведения см. в разделе Управление доступом к миграции из Azure DevOps.
-
Задайте переменные среды для personal access tokens, заменив TOKEN в командах ниже personal access token, записанных выше. Используется
GH_PAT
для целевой организации иADO_PAT
для исходной организации.-
Если вы используете терминал, используйте
export
команду.Shell export GH_PAT="TOKEN" export ADO_PAT="TOKEN"
export GH_PAT="TOKEN" export ADO_PAT="TOKEN"
-
Если вы используете PowerShell, используйте
$env
команду.Shell $env:GH_PAT="TOKEN" $env:ADO_PAT="TOKEN"
$env:GH_PAT="TOKEN" $env:ADO_PAT="TOKEN"
-
Шаг 4. Создание скрипта миграции
Если вы хотите перенести несколько репозиториев в GitHub Enterprise Cloud одновременно, используйте GitHub CLI для создания скрипта миграции. Результирующий скрипт будет содержать список команд миграции, по одному на репозиторий.
Примечание. Создание скрипта выводит скрипт PowerShell. Если вы используете терминал, вам потребуется вывести сценарий с .ps1
расширением файла и установить PowerShell для Mac[ или Linux, ](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.2)чтобы запустить его.
Если вы хотите перенести один репозиторий, перейдите к следующему шагу.
Создание скрипта миграции
Чтобы создать скрипт миграции, выполните gh ado2gh generate-script
команду.
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME
Чтобы добавить в скрипт дополнительные функциональные возможности, такие как перевораживание конвейеров, создание команд и настройку интеграции с Azure Boards, можно добавить --all
флаг.
Если вы хотите, чтобы скрипт скачал журнал миграции для каждого перенесенного репозитория, добавьте --download-migration-logs
флаг. Дополнительные сведения о журналах миграции см. в разделе "Доступ к журналам миграции для GitHub Enterprise Importer".
Замените заполнители в приведенной выше команде следующими значениями.
Заполнитель | Значение |
---|---|
ИСТОЧНИК | Имя исходной организации |
НАЗНАЧЕНИЕ | Имя целевой организации |
FILENAME | Имя файла для результирующего скрипта миграции Если вы используете терминал, используйте .ps1 расширение файла в качестве созданного скрипта, чтобы запустить PowerShell. Вы можете установить PowerShell для Mac или Linux. |
Просмотр скрипта миграции
После создания скрипта просмотрите файл и, при необходимости, измените скрипт.
- Если есть какие-либо репозитории, которые вы не хотите перенести, удалить или закомментировать соответствующие строки.
- Если в целевой организации есть другое имя репозиториев, обновите значение соответствующего
--target-repo
флага.
Если вы скачали ADO2GH как автономный двоичный файл, а не как расширение для GitHub CLI, вам потребуется обновить созданный скрипт для запуска двоичного файла вместо gh ado2gh
него.
Шаг 5. Миграция репозиториев
Можно перенести несколько репозиториев с помощью скрипта миграции или одного репозитория с gh ado2gh migrate-repo
помощью команды.
Перенос нескольких репозиториев
Перенос одного репозитория
Чтобы перенести один репозиторий, используйте gh ado2gh migrate-repo
команду.
gh ado2gh migrate-repo --ado-org SOURCE --ado-team-project TEAM-PROJECT --ado-repo CURRENT-NAME --github-org DESTINATION --github-repo NEW-NAME
gh ado2gh migrate-repo --ado-org SOURCE --ado-team-project TEAM-PROJECT --ado-repo CURRENT-NAME --github-org DESTINATION --github-repo NEW-NAME
TEAM-PROJECT | Имя командного проекта репозитория, который требуется перенести
Если вы хотите отменить миграцию, используйте abort-migration
команду, заменив идентификатор MIGRATION-ID возвращенным идентификатором migrate-repo
.
gh ado2gh abort-migration --migration-id MIGRATION-ID
gh ado2gh abort-migration --migration-id MIGRATION-ID
Шаг 6. Проверка миграции и проверка журнала ошибок
По завершении миграции рекомендуется просмотреть журнал миграции. Дополнительные сведения см. в разделе Доступ к журналам миграции для GitHub Enterprise Importer.
Рекомендуется просмотреть перенесенные репозитории для проверки звука.