Справочник по интерфейсу командной строки Enterprise Live Migrations (ELM)

Службы Azure DevOps

В этой статье перечислены команды и параметры интерфейса командной строки Azure DevOps, используемые для запуска Enterprise Live Migrations (ELM), а также значения состояния и стадии, возвращаемые интерфейсом командной строки во время миграции.

Команды

Команды миграции

Command Обязательные параметры Необязательные параметры HTTP Description
list --org --project, , --include-all--detect GET Перечисление миграций. По умолчанию CLI возвращает только активную миграцию для каждого репозитория. Используется --include-all для включения завершенных, неудачных и приостановленных миграций.
status --org, --repository-id --detect GET Получение подробного состояния для одной миграции.
create --org, , --repository-id--target-repository--agent-pool --target-owner-user-id, --service-endpoint-id, --github-token--validate-only--cutover-date--skip-validation--enable-boards-github-connection--enable-auto-discover-pipelines--pipeline-service-connection-id--detect POST Создайте новую миграцию. Если вы не прошли --service-endpoint-idпроверку подлинности, интерфейс командной строки проверяет ELM_GITHUB_TOKEN и запускает поток устройства GitHub для проверки подлинности в целевом объекте.
pause --org, --repository-id --detect PUT Приостановка активной миграции.
resume --org, --repository-id --validate-only, , --migration--detect PUT Возобновление остановленной миграции.
cutover set --org, , --repository-id--date --detect PUT Запланируйте отрезок даты и времени. Значение должно быть в будущем.
cutover cancel --org, --repository-id --detect PUT Отмена запланированной отрезки. Только допустимо, пока этап является Synchronizationдопустимым; отклоняется после того, как этап переходит к Cutover. Отправляет sentinel (), так как сервер игнорирует DateTimeOffset.MinValue0001-01-01T00:00:00+00:00 егоnull.scheduledCutoverDate
cutover review --org, --repository-id --detect GET Вывод списка необработанных элементов и требований проверки конвейера, ожидающих утверждения.
cutover approve --org, --repository-id --accept-failures, , --pipelines-verified--detect PUT Утверждение переключения путем принятия необработанных элементов и (или) проверки повторно размещенных конвейеров. Укажите по крайней мере одно или --accept-failures--pipelines-verified. Необратимый — не отменяет API; восстановление с помощью abandon повторного создания.
abandon --org, --repository-id --remove-read-only, , --yes--detect Удалить Отказаться от миграции. Запись миграции не очищается, а данные повторной обработки конвейера сохраняются, поэтому более поздняя миграция может повторно использовать ее. Запрашивает подтверждение, если вы не пройдете --yes.

Команды повторного развертывания конвейера (предварительная версия)

Конвейер повторно переносит конвейеры перенаведения точек, ссылающиеся на исходный Azure Repos репозиторий в перенесенном репозитории GitHub. Повторная миграция всегда доступна для миграции в любом из двух режимов:

  • Автоматическое обнаружение — передача --enable-auto-discover-pipelines вместе с --pipeline-service-connection-idcreateним. Задание синхронизации ELM проходит исходный репозиторий и создает определения клонирования для каждого конвейера, ссылающегося на него.
  • Вручную — регистрация определенных конвейеров после create этого pipelines submit. Вы можете в любое время pipelines updateсмешать оба режима и настроить регистрацию.
Command Обязательные параметры Необязательные параметры HTTP Description
pipelines list --org, --repository-id --detect GET Вывод списка конфигурации повторной настройки конвейера и состояния каждого конвейера.
pipelines submit --org, , --repository-id--pipeline-ids --service-connection-id, , --repository-mapping--detect POST Регистрация определенных конвейеров для повторной настройки.
pipelines update --org, --repository-id --add-ids, , --remove-ids--retry-ids--service-connection-id--repository-mapping,--detect PUT Массовое добавление, удаление, повторная попытка или изменение подключения службы для зарегистрированных конвейеров. Требуется по крайней мере один флаг обновления.
pipelines retry --org, , --repository-id--pipeline-ids --detect PUT Повторная попытка неудачного переключение записей конвейера.
pipelines delete --org, , --repository-id--migration-id --yes, --detect Удалить Удаление данных повторной обработки конвейера (конфигурации и клонированных определений) для миграции. Используйте это для очистки переключаемых данных для неудачной миграции; abandon в одиночку не удаляет его.

Сведения о параметрах

Parameter Тип Используется кем Description
--org URL-адрес All AZURE DEVOPS URL-адрес организации, например https://dev.azure.com/<org>. Задайте это значение как значение по умолчанию.
--repository-id GUID Все, кроме list guid репозитория Azure Repos. Получение значения из az repos show --query id. Миграция определяется repositoryId только тем, что ответ API не имеет отдельного поля идентификатора миграции и может быть не более одной активной миграции для каждого репозитория.
--target-repository URL-адрес create URL-адрес целевого репозитория, например https://<enterprise>.ghe.com/<org>/<repo>. Должен начинаться с http:// или https://. Сервер проверяет это значение.
--target-owner-user-id string create GitHub идентификатор пользователя (дескриптор) владельца целевого репозитория. Не рекомендуется и игнорируется при включении разрешения владельца на основе маркеров на стороне сервера.
--service-endpoint-id GUID create Optional. Azure DevOps идентификатор подключения службы для подключения GitHub Enterprise Server, используемого для синхронизации фиксаций с целевым объектом. При установке поток устройства GitHub пропускается. Независимо от проверки подлинности пользователя — вы по-прежнему можете предоставить --github-token или ELM_GITHUB_TOKEN рядом с ним.
--github-token string create Необязательный GitHub маркер пользователя (или PAT) для проверки удостоверения пользователя на целевом узле. Если опущен и --service-endpoint-id не указан, интерфейс командной строки проверяетELM_GITHUB_TOKEN, а затем выполняется GitHub поток устройства.
--agent-pool string create Имя пула агентов для работы миграции.
--validate-only flag create, resume В create: выполните только проверки перед миграцией. В resume: переключитесь на режим проверки только для проверки. Срок действия результатов только проверки истекает через 24 часа после успешного выполнения; запуск (или повышение уровня) полной миграции в этом окне.
--migration flag resume Повышение успешного запуска только проверки до полной миграции (наборов validateOnly=false и statusRequested=active). Допустимо только после завершения status: Succeededпредыдущего запуска только проверки. Взаимоисключающ с --validate-only.
--cutover-date ISO 8601 create Предварительное расписание переключение во время создания, например 2030-12-31T11:59:00Z.
--date ISO 8601 cutover set Например 2030-12-31T11:59:00Z, запланировать дату и время перехода. Должно быть в будущем.
--skip-validation string create Разделенный запятыми список имен политик проверки или неотрицательное целочисленное битовое маски. Имена политик (без учета регистра): NonePullRequestDeltaSizeActivePullRequestCountAgentPoolExistsMaxFileSizeSourceRepositoryContainsLfsObjectsTargetRepositoryDoesNotExistSourceRepositoryNotReadOnlyMaxPushPackSizeMaxReferenceNameLengthMaxPullRequestSize, . BoardsGitHubConnectionProvisioningAll
--enable-boards-github-connection (--enable-boards-gh) flag create Вы можете подготовить подключение Azure Boards GitHub при переключение. Отключено по умолчанию. Требуется, чтобы приложение Azure Boards GitHub было установлено в целевой GitHub организации перед запуском миграции.
--enable-auto-discover-pipelines (--auto-discover) flag create Выберите автоматическое обнаружение конвейера при переключение. Отключено по умолчанию. Требуется --pipeline-service-connection-id; интерфейс командной строки отклоняет команду, если этот флаг передается без подключения к службе.
--pipeline-service-connection-id (--pipeline-sc-id) GUID create Project области GitHub идентификатор подключения службы, присоединенный во время создания конвейера повторной установки. Требуется для автоматического обнаружения; необязательный параметр в ручном режиме, где он предварительно подключает подключение, поэтому более поздние pipelines submit вызовы требуются --pipeline-idsтолько.
--accept-failures Целое число cutover approve Количество необработанных ресурсов миграции, которые необходимо принять перед переходом. Укажите это и/или --pipelines-verified.
--pipelines-verified flag cutover approve Убедитесь, что были проверены все повторно развернутые конвейеры. Обязательный при cutover review возврате requiresPipelineVerificationAcknowledgment: true. Может сочетаться с --accept-failures одним вызовом.
--pipeline-ids Список int pipelines submit, pipelines retry Идентификаторы определений конвейера. Принимает разделенные пробелами (42 43 44) или разделенные запятыми значения (42,43,44).
--service-connection-id GUID pipelines submit, pipelines update Project GitHub идентификатор подключения службы. Необязательный параметр, submit если подключение уже подключено во время создания или через pipelines update.
--add-ids / --remove-ids / --retry-ids Список int pipelines update Идентификаторы конвейера для добавления, удаления или повтора в наборе переключений.
--repository-mapping string pipelines submit, pipelines update Сопоставление репозитория в форме <sourceRepoId>=<targetOwner>/<targetRepo>. Целевой объект должен быть в owner/repo форме, а не URL-адрес. Может быть предоставлено несколько раз.
--migration-id Целое число pipelines delete Идентификатор миграции, используемый для повторной очистки конвейера. Считывает его из Migration NN: префикса в тексте migrations statusvalidationIssues .
--remove-read-only flag abandon После перехода исходный Azure DevOps репозиторий устанавливается только для чтения. Добавьте этот флаг для восстановления доступа на запись. Применяется только после переключение.
--yes (-y) flag abandon, pipelines delete Пропустите интерактивный запрос подтверждения. Полезно для очистки сценариев.
--include-all flag list Возвращает полную историю миграции для каждого репозитория, включая завершенные, неудачные и приостановленные миграции. (--include-inactive является устаревшим псевдонимом.)
--detect flag All Автоматическое обнаружение организации с удаленного устройства Git (по умолчанию: true). Используйте --detect false для отключения.

Этапы миграции

Этап Description
В очереди Принято миграция; работа еще не началась.
Validation Выполнение проверок перед миграцией.
Synchronization Копирование и синхронизация содержимого репозитория.
Cutover Выполнение последней синхронизации и переход на GitHub.
ReviewForCutover Переход достиг запланированного времени с неразрешенными сбоями и ожидает cutover approve (или перепланирует).
ReadyForCutover Утверждено и ожидает следующего задания ELM для выполнения окончательной отрезки.
Перенесено Миграция завершена. GitHub — это система записей.

Состояния миграции

Статус Meaning
Active Выполняется миграция.
Succeeded Текущий этап успешно завершен.
Завершено Миграция достигла этапа терминала Migrated .
Неудача Произошла ошибка. После устранения проблемы можно возобновить миграцию.
Подвешенный Приостановлено вручную. Вы можете возобновить миграцию.