Referencia de la CLI de Enterprise Live Migrations (ELM)

servicios de Azure DevOps

En este artículo se enumeran los comandos y parámetros de la CLI de Azure DevOps que se usan para ejecutar Enterprise Live Migrations (ELM), junto con los valores de estado y fase que devuelve la CLI durante una migración.

Commands

Comandos de migración

Comando Parámetros necesarios Parámetros opcionales HTTP Description
list --org --project, , --include-all, --detect OBTÉN Enumerar las migraciones. De forma predeterminada, la CLI devuelve solo la migración activa para cada repositorio. Use --include-all para incluir migraciones completadas, con errores y suspendidas.
status --org, --repository-id --detect OBTÉN Obtenga el estado detallado de una migración.
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 Cree una nueva migración. Si no pasa --service-endpoint-id, la CLI comprueba ELM_GITHUB_TOKEN y, a continuación, ejecuta GitHub flujo de dispositivo para autenticarse en el destino.
pause --org, --repository-id --detect PUT Pausar una migración activa.
resume --org, --repository-id --validate-only, , --migration, --detect PUT Reanude una migración detenida.
cutover set --org, , --repository-id, --date --detect PUT Programe una fecha y hora de transición. El valor debe estar en el futuro.
cutover cancel --org, --repository-id --detect PUT Cancelar una transición programada. Solo es válido mientras la fase es Synchronization; se rechaza una vez que la fase avanza a Cutover. Envía el DateTimeOffset.MinValue sentinel (0001-01-01T00:00:00+00:00) porque el servidor omite null para scheduledCutoverDate.
cutover review --org, --repository-id --detect OBTÉN Enumere los elementos no procesados y los requisitos de comprobación de canalización en espera de aprobación.
cutover approve --org, --repository-id --accept-failures, , --pipelines-verified, --detect PUT Apruebe la migración mediante la aceptación de elementos no procesados o la comprobación de canalizaciones rewired. Proporcione al menos uno de --accept-failures o --pipelines-verified. Irreversible: ninguna API de revocación; recuperar con abandon + volver a crear.
abandon --org, --repository-id --remove-read-only, , --yes, --detect DELETE Abandonar una migración. El registro de migración no se purga y se conservan los datos de rewiring de canalización, por lo que una migración posterior puede reutilizarla. Solicita confirmación a menos que pase --yes.

Comandos de rewiring de canalización (versión preliminar)

Canalización de rewiring re-points pipelines that reference the source Azure Repos repository at the migrated GitHub repository. La rewiring siempre está disponible para una migración, en cualquiera de los dos modos:

  • Detección automática : pase --enable-auto-discover-pipelines junto con --pipeline-service-connection-id en create. El trabajo de sincronización de ELM recorre el repositorio de origen y crea definiciones de clonación para cada canalización que haga referencia a él.
  • Manual : inscriba canalizaciones específicas después create de con pipelines submit. Puede combinar ambos modos y ajustar la inscripción en cualquier momento con pipelines update.
Comando Parámetros necesarios Parámetros opcionales HTTP Description
pipelines list --org, --repository-id --detect OBTÉN Enumere la configuración de la canalización y el estado por canalización.
pipelines submit --org, , --repository-id, --pipeline-ids --service-connection-id, , --repository-mapping, --detect POST Inscriba canalizaciones específicas para el rewiring.
pipelines update --org, --repository-id --add-ids, --remove-ids, --retry-ids, --service-connection-id, , --repository-mapping, --detect PUT Agregue, quite, vuelva a intentar o cambie la conexión de servicio para las canalizaciones inscritas. Se requiere al menos una marca de actualización.
pipelines retry --org, , --repository-id, --pipeline-ids --detect PUT Reintentar las entradas de reintento de la canalización con errores.
pipelines delete --org, , --repository-id, --migration-id --yes, --detect DELETE Elimine los datos de rewiring de canalización (configuración y definiciones clonadas) para una migración. Úselo para limpiar los datos de rewiring para una migración con errores; abandon solo no lo quita.

Detalles de los parámetros

Parámetro Tipo Usado por Description
--org URL All Azure DevOps dirección URL de la organización, por ejemplo, https://dev.azure.com/<org>. Establezca este valor como predeterminado.
--repository-id GUID Todo excepto list AZURE REPOS GUID del repositorio. Obtenga el valor de az repos show --query id. Las migraciones solo se identifican mediante repositoryId : la respuesta de la API no tiene ningún campo de identificador de migración independiente y puede haber como máximo una migración activa por repositorio.
--target-repository URL create Dirección URL del repositorio de destino, por ejemplo https://<enterprise>.ghe.com/<org>/<repo>. Debe comenzar con http:// o https://. El servidor valida este valor.
--target-owner-user-id string create GitHub identificador de usuario (identificador) del propietario del repositorio de destino. En desuso y se omite cuando está habilitada la resolución de propietario basada en tokens del lado servidor.
--service-endpoint-id GUID create Optional. Azure DevOps identificador de conexión de servicio para la conexión de GitHub Enterprise Server que se usa para sincronizar confirmaciones con el destino. Cuando se establece, se omite GitHub flujo de dispositivo. Independiente de la comprobación de identidad de usuario: todavía puede proporcionarla --github-token o ELM_GITHUB_TOKEN junto a ella.
--github-token string create Opcional GitHub token de usuario (o PAT) para la comprobación de identidad de usuario en el host de destino. Si se omite y --service-endpoint-id no se proporciona, la CLI comprueba ELM_GITHUB_TOKEN y, a continuación, ejecuta GitHub flujo de dispositivo.
--agent-pool string create Nombre del grupo de agentes para el trabajo de migración.
--validate-only flag create, resume En create: ejecute solo comprobaciones previas a la migración. En resume: cambie al modo de solo validación. Los resultados de solo validación expiran 24 horas después de que la ejecución se realice correctamente; inicie (o promueva a) la migración completa dentro de esa ventana.
--migration flag resume Promover una ejecución de solo validación correcta a una migración completa (conjuntos validateOnly=false y statusRequested=active). Solo es válido cuando la ejecución anterior de solo validación ha finalizado con status: Succeeded. Mutuamente excluyente con --validate-only.
--cutover-date ISO 8601 create Programación previa de la migración en tiempo de creación, por ejemplo 2030-12-31T11:59:00Z.
--date ISO 8601 cutover set Programe la fecha y hora de transición, por ejemplo 2030-12-31T11:59:00Z. Debe estar en el futuro.
--skip-validation string create Lista separada por comas de nombres de directiva de validación o máscara de bits de entero no negativo. Nombres de directiva (que no distinguen mayúsculas de minúsculas): None, ActivePullRequestCount, PullRequestDeltaSizeMaxFileSizeAgentPoolExistsMaxPullRequestSize, , BoardsGitHubConnectionProvisioningAllMaxPushPackSizeMaxReferenceNameLengthTargetRepositoryDoesNotExistSourceRepositoryContainsLfsObjectsSourceRepositoryNotReadOnly
--enable-boards-github-connection (--enable-boards-gh) flag create Opte por aprovisionar la conexión Azure Boards GitHub en la migración total. Desactivado de forma predeterminada. Requiere que la aplicación de Azure Boards GitHub se instale en la organización de destino GitHub antes de que se ejecute la migración.
--enable-auto-discover-pipelines (--auto-discover) flag create Participar en la detección automática de canalizaciones en la transición. Desactivado de forma predeterminada. Requiere --pipeline-service-connection-id; la CLI rechaza el comando si pasa esta marca sin una conexión de servicio.
--pipeline-service-connection-id (--pipeline-sc-id) GUID create Project con ámbito GitHub identificador de conexión de servicio asociado en tiempo de creación para el rewiring de canalización. Necesario para la detección automática; opcional en el modo manual, donde adjunta previamente la conexión, por lo que las llamadas posteriores pipelines submit solo necesitan --pipeline-ids.
--accept-failures integer cutover approve Número de recursos de migración sin procesar que se van a aceptar antes de continuar con la transición. Proporcione este y/o --pipelines-verified.
--pipelines-verified flag cutover approve Confirme que todas las canalizaciones rewired se comprobaron. Obligatorio cuando cutover review devuelve requiresPipelineVerificationAcknowledgment: true. Se puede combinar con --accept-failures en una sola llamada.
--pipeline-ids int list pipelines submit, pipelines retry Identificadores de definición de canalización. Acepta valores separados por espacios (42 43 44) o separados por comas (42,43,44).
--service-connection-id GUID pipelines submit, pipelines update Project identificador de conexión de servicio GitHub con ámbito. Opcional en submit si ya se adjuntó una conexión en tiempo de creación o a través de pipelines update.
--add-ids / --remove-ids / --retry-ids int list pipelines update Identificadores de canalización para agregar, quitar o reintentar dentro del conjunto de rewiring.
--repository-mapping string pipelines submit, pipelines update Asignación de repositorios con el formato <sourceRepoId>=<targetOwner>/<targetRepo>. El destino debe estar en owner/repo forma, no una dirección URL. Se puede proporcionar varias veces.
--migration-id integer pipelines delete Identificador de migración que se usa para la limpieza de la canalización de rewiring. Léelo del Migration NN: prefijo en el validationIssues texto de migrations status.
--remove-read-only flag abandon Después de la migración, el repositorio de Azure DevOps de origen se establece en de solo lectura. Agregue esta marca para restaurar el acceso de escritura. Solo se aplica después de la transición.
--yes (-y) flag abandon, pipelines delete Omita el mensaje de confirmación interactivo. Útil para la limpieza con scripts.
--include-all flag list Devuelve el historial de migración completo por repositorio, incluidas las migraciones completadas, con errores y suspendidas. (--include-inactive es un alias en desuso).
--detect flag All Detección automática de la organización desde el git remoto (valor predeterminado: true). Utiliza --detect false para deshabilitar.

Fases de migración

Stage Description
En cola Migración aceptada; el trabajo aún no se ha iniciado.
Validation Ejecución de comprobaciones previas a la migración.
Synchronization Copia y sincronización del contenido del repositorio.
Cutover Ejecutar la sincronización final y la transición a GitHub.
ReviewForCutover La transición alcanzó la hora programada con errores sin resolver y está esperando cutover approve (o reprogramación).
ReadyForCutover Aprobado y esperando que el siguiente trabajo de ELM realice la transición final.
Migrado Migración completada. GitHub es el sistema de registros.

Estados de migración

Situación Meaning
Active La migración se está ejecutando.
Succeeded La fase actual se completó correctamente.
Completado La migración alcanzó la fase de terminal Migrated .
Fallido Se ha producido un error. Puede reanudar la migración después de corregir el problema.
Suspendido Pausado manualmente. Puede reanudar la migración.