Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Службы Azure DevOps
Прежде чем использовать ELM, убедитесь, что в службах Azure DevOps и GitHub Enterprise Cloud с размещением данных выполняются следующие требования.
Замечание
Настройка предварительных требований использует как портал Azure DevOps, так и интерфейс GitHub (для однократных задач, таких как создание подключения к службе, регистрация агента и создание маркера PAT), а также командную строку (для установки инструментов). Каждый раздел помечен так, чтобы вы знали, где работать.
Требования к исходному и целевому репозиторию
- Миграция должна происходить из служб Azure DevOps (
dev.azure.com). Azure DevOps Server не поддерживается. - Целевая организация GitHub Enterprise Cloud с локализацией данных уже должна существовать.
- Целевое GitHub имя репозитория не должно использоваться.
Чтобы получить GUID репозитория Azure DevOps, выберите одну из следующих вкладок:
az repos show --repository <repo-name> --query id -o tsv
Команда возвращает идентификатор GUID репозитория. Сохраните это, чтобы использовать при начале миграции.
Требования к доступу
Службы Azure DevOps
| Требование | Сведения |
|---|---|
| Разрешение на корпоративную миграцию в реальном времени | Для разрешения Enterprise Live Migrations: Manage Migrations должно быть установлено значение Allow на уровне репозитория. Чтобы проверить, перейдите в раздел Project Settings>Repositories>Security и убедитесь, что ваша группа или учетная запись пользователя имеют это разрешение. Если вы этого не сделали, обратитесь к администратору коллекции Project (PCA) или администратору Project (PA), чтобы запросить доступ. Дополнительные сведения см. в разделе "Настройка разрешений репозитория Git". |
| Доступность локального агента Linux | Если нет доступного собственного агента Linux, PCA или пользователь, имеющий разрешение на администрирование очереди агентов, должен создать и зарегистрировать его. |
| Разрешение на создание подключения службы | Пользователь с соответствующими разрешениями должен создать подключение службы, использующее GitHub PAT. |
GitHub Enterprise Cloud с локализацией данных
- Администратор GitHub Enterprise должен создать личный маркер доступа (PAT) и создать подключение к службе в Azure DevOps. Затем администратор предоставляет идентификатор подключения службы пользователю, выполняющему миграцию.
Настройка проверки подлинности
Создайте два PAT в GitHub:
- Один PAT для подключения к службе.
- Один личный PAT-токен для оператора миграции.
Создание подключения службы PAT и подключения к службе
На GitHub перейдите в раздел Settings>Developer Settings и выберите Личные токены доступа.
В качестве администратора GitHub Enterprise создайте классический PAT со следующими разрешениями:
-
repo(все) workflowread:orgread:user-
admin:enterprise(все)
-
Скопируйте PAT и сохраните его безопасно.
Выберите Настроить единый вход (SSO), чтобы предоставить PAT доступ к целевой организации.
Войдите в организацию Azure DevOps.
Перейдите к параметру Project Settings>Pipelines>Service connections.
Выберите Новое подключение службы, выберите GitHub Enterprise Server, а затем выберите Далее.
Для метода проверки подлинности выберите личный маркер доступа.
Введите URL-адрес GitHub Enterprise и вставьте GitHub PAT из шага 3.
Проверьте и сохраните подключение к службе.
Откройте подключение службы и скопируйте идентификатор. Этот идентификатор требуется при запуске миграции.
Создайте личный PAT для миграции в GitHub (в портале GitHub)
Пользователь, выполняющий миграцию, создает этот PAT и использует его для проверки подлинности в GitHub.
На GitHub перейдите в раздел Settings>Developer Settings и выберите Личные токены доступа.
Создайте классический PAT со следующими областями:
-
repo(полностью) workflowadmin:orguser:email
-
Скопируйте PAT и сохраните его безопасно.
Обязательные инструменты
Действия, описанные в этом разделе, используют командную строку. Установите Azure CLI и расширение cli Azure DevOps на компьютере, используемом для выполнения команд миграции.
Установите Azure CLI. Дополнительные сведения см. в статье "Установка Azure CLI".
Например, откройте Visual Studio Code и выполните следующую команду:
winget install -e --id Microsoft.AzureCLIУстановите расширение Azure DevOps CLI. Дополнительные сведения см. в статье Начало работы с Azure DevOps CLI:
az extension add -n azure-devopsКоманды
az devops migrationsвходят в состав стандартного расширенияazure-devops. Нет отдельного расширения ELM, которое нужно устанавливать.Проверьте загруженное расширение:
az devops migrations --helpЧтобы обновить существующую установку, выполните приведенные действия.
az extension update -n azure-devops(Рекомендуется) Задайте для организации Azure DevOps значение по умолчанию, чтобы каждая команда
migrationsпредназначена для правильного узла:az devops configure --defaults organization=https://dev.azure.com/<org>Если пропустить этот шаг и выполнять команды из папки, где удалённый репозиторий
gitуказывает на другую организацию, CLI при автоопределении выберет этот удалённый репозиторий вместо значения--org. Чтобы принудительно отключить его для отдельной команды, добавьте--detect false.
Настройка локального агента Linux
Используйте портал Azure DevOps для выбора или создания пула агентов, а затем запускайте скрипты установки агента на компьютере Linux.
В Параметры проекта перейдите в Пулы агентов в разделе Конвейеры, выберите пул, который вы хотите использовать для миграции, и сохраните имя пула.
Если у вас нет пула для использования, создайте локальный агент Linux. Дополнительные сведения см. в разделе Развертывание агента Azure Pipelines в Linux. Короткая версия:
- Убедитесь, что у вас есть разрешение на регистрацию агента. Если вы являетесь PCA, у вас уже есть доступ.
- В параметрах организации Azure DevOps перейдите к Pipelines>Agent pools.
- Выберите пул по умолчанию или локальный пул.
- Откройте вкладку "Агенты" и выберите "Создать агент".
- В диалоговом окне "Получение агента" выберите Linux и скачайте агент.
- На компьютере Linux распакуйте агент в выбранный каталог и перейдите в этот каталог.
- Запустите
./config.shи затем./run.sh.
Important
Необходимо использовать агент на основе Linux. агенты на основе Windows и macOS не поддерживаются.
Включите аудит
ElM записывает события жизненного цикла миграции в журнал аудита Azure DevOps, включая запуск, приостановку, возобновление, запланированное сокращение и отказ от действий. Администраторы могут просматривать эти события в разделе Настройки организации>Аудит.
Необязательная настройка для гибридных сценариев
Используйте этот раздел, если вы планируете использовать Azure DevOps с GitHub после миграции.
Установка Azure Boards на GitHub
Если вы планируете продолжать использовать Azure Boards после миграции, администратор предприятия GitHub предприятия должен установить приложение Azure Boards в организации GitHub перед началом миграции. Это приложение позволяет ELM создать подключение Boards, чтобы команды могли связывать коммиты GitHub и запросы на вытягивание с рабочими элементами Azure DevOps.
Чтобы проверить установку, перейдите на страницу https://<enterpriseUrl>/organizations/<orgName>/settings/installations и убедитесь, что Azure Boards отображается в списке. Если Azure Boards отсутствует в списке, попросите администратора предприятия GitHub установить приложение Azure Boards в каталоге приложений предприятия.
Создайте подключение к службе для перенастройки конвейера
Если вы планируете использовать Azure DevOps и GitHub в гибридной настройке и подключите репозиторий GitHub к Azure Pipelines, выполните следующие действия перед началом миграции.
- Убедитесь, что приложение Azure Pipelines установлено в GitHub предприятия
https://<enterpriseUrl>/organizations/<orgName>/settings/installations. - Если Azure Pipelines отсутствует в списке, попросите администратора предприятия GitHub установить приложение:
https://<enterprise>.ghe.com/apps/external-app/azure-pipelinesВыберите "Настроить " и убедитесь, что для доступа к репозиторию задано значение "Все репозитории". - В Azure DevOps в разделе "Параметры Project" выберите "Подключения службы".
- Выберите Новое подключение службы и выберите GitHub Enterprise Cloud с хранением данных в определённом регионе.
- Добавьте GitHub URL-адрес и имя организации, а затем нажмите кнопку "Авторизовать".
- Добавьте имя подключения к службе и нажмите кнопку "Сохранить".
- Откройте созданное соединение службы и скопируйте идентификатор. Этот идентификатор нужен для перенастройки конвейера.
Значения для сбора при миграции с использованием CLI
Используйте этот контрольный список, если планируется начать миграцию и управлять ими с помощью команд cli Azure DevOps вместо пользовательского интерфейса Azure DevOps.
| Поле | Example | Ваше значение |
|---|---|---|
| URL-адрес организации Azure DevOps | https://dev.azure.com/myorg |
|
| имя проекта Azure DevOps | MyProject |
|
| имя репозитория Azure DevOps | my-repo |
|
| GUID репозитория Azure DevOps | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
|
| URL-адрес целевой GitHub организации | https://contoso.ghe.com/MyOrg |
|
| Имя целевого репозитория | MyProject-MyRepo |
|
| Идентификатор подключения службы | cd32d354-xxxx-xxxx-xxxx-xxxx |
|
| Идентификатор подключения к конвейеру | 9f6aa94e-xxxx-xxxx-xxxx-xxxx |
|
| Имя пула агентов Linux с локальным размещением | Default |