Referência da CLI do ELM (Enterprise Live Migrations)

Serviços do Azure DevOps

Este artigo lista os comandos e parâmetros da CLI Azure DevOps que você usa para executar ELM (Enterprise Live Migrations), juntamente com valores de status e estágio que a CLI retorna durante uma migração.

Comandos

Comandos de migração

Command Parâmetros necessários Parâmetros opcionais HTTP Description
list --org --project, , --include-all--detect GET Listar migrações. Por padrão, a CLI retorna apenas a migração ativa para cada repositório. Use --include-all para incluir migrações concluídas, com falha e suspensas.
status --org, --repository-id --detect GET Obtenha o status detalhado de uma migração.
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 Crie uma nova migração. Se você não passar--service-endpoint-id, a CLI verificará ELM_GITHUB_TOKEN e executará GitHub fluxo do dispositivo para se autenticar no destino.
pause --org, --repository-id --detect PUT Pausar uma migração ativa.
resume --org, --repository-id --validate-only, , --migration--detect PUT Retome uma migração interrompida.
cutover set --org, , --repository-id--date --detect PUT Agende uma data e hora de substituição. O valor deve estar no futuro.
cutover cancel --org, --repository-id --detect PUT Cancelar uma substituição agendada. Somente válido enquanto o estágio é Synchronization; rejeitado quando o estágio avança para Cutover. Envia o DateTimeOffset.MinValue sentinela (0001-01-01T00:00:00+00:00) porque o servidor ignora null para scheduledCutoverDate.
cutover review --org, --repository-id --detect GET Listar itens não processados e requisitos de verificação de pipeline aguardando aprovação.
cutover approve --org, --repository-id --accept-failures, , --pipelines-verified--detect PUT Aprove a substituição aceitando itens não processados e/ou verificando pipelines religados. Forneça pelo menos um ou --accept-failures--pipelines-verified. Irreversível – nenhuma API revogada; recuperar com abandon + recriar.
abandon --org, --repository-id --remove-read-only, , --yes--detect DELETE Abandone uma migração. O registro de migração não é limpo e os dados de nova largura de pipeline são mantidos, portanto, uma migração posterior pode reutilizá-los. Solicita confirmação, a menos que você passe --yes.

Comandos de nova largura de pipeline (versão prévia)

Pipeline rewiring pipelines re-points que fazem referência ao repositório de Azure Repos de origem no repositório de GitHub migrado. A rewiring está sempre disponível para uma migração, em qualquer um dos dois modos:

  • Descoberta automática – passe --enable-auto-discover-pipelines junto com --pipeline-service-connection-id a ativação create. O trabalho de sincronização do ELM orienta o repositório de origem e cria definições de clone para cada pipeline que faz referência a ele.
  • Manual – registrar pipelines específicos depois create com pipelines submit. Você pode misturar os dois modos e ajustar o registro a qualquer momento com pipelines update.
Command Parâmetros necessários Parâmetros opcionais HTTP Description
pipelines list --org, --repository-id --detect GET Listar a configuração de nova largura de pipeline e o status por pipeline.
pipelines submit --org, , --repository-id--pipeline-ids --service-connection-id, , --repository-mapping--detect POST Registre pipelines específicos para rewiring.
pipelines update --org, --repository-id --add-ids, --remove-ids, --retry-ids, --service-connection-id, , --repository-mapping--detect PUT Adicione, remova, tente novamente ou altere a conexão de serviço para pipelines registrados. Pelo menos um sinalizador de atualização é necessário.
pipelines retry --org, , --repository-id--pipeline-ids --detect PUT Tente novamente as entradas de rewiring do pipeline com falha.
pipelines delete --org, , --repository-id--migration-id --yes, --detect DELETE Exclua dados de nova largura de pipeline (configuração e definições clonadas) para uma migração. Use isso para limpar os dados de rewiring para uma migração com falha; abandon por si só não o remove.

Detalhes do parâmetro

Parâmetro Tipo Usado por Description
--org URL All Azure DevOps URL da organização, por exemplo, https://dev.azure.com/<org>. Defina esse valor como um padrão.
--repository-id GUID Todos, exceto list Azure Repos GUID do repositório. Obtenha o valor de az repos show --query id. As migrações são identificadas apenas por repositoryId : a resposta da API não tem nenhum campo de ID de migração separado e pode haver no máximo uma migração ativa por repositório.
--target-repository URL create URL do repositório de destino, por exemplo https://<enterprise>.ghe.com/<org>/<repo>. Deve começar com http:// ou https://. O servidor valida esse valor.
--target-owner-user-id cadeia create GitHub ID do usuário (identificador) do proprietário do repositório de destino. Preterido e ignorado quando a resolução de proprietário baseada em token do lado do servidor está habilitada.
--service-endpoint-id GUID create Optional. Azure DevOps ID de conexão de serviço para a conexão do GitHub Enterprise Server usada para sincronizar confirmações com o destino. Quando definido, GitHub fluxo do dispositivo é ignorado. Independentemente da verificação de identidade do usuário , você ainda pode fornecer --github-token ou ELM_GITHUB_TOKEN ao lado dela.
--github-token cadeia create Opcional GitHub token de usuário (ou PAT) para verificação de identidade do usuário no host de destino. Se omitido e --service-endpoint-id não for fornecido, a CLI verificará ELM_GITHUB_TOKEN e executará GitHub fluxo do dispositivo.
--agent-pool cadeia create Nome do pool de agentes para trabalho de migração.
--validate-only sinalizador create, resume Em create: execute somente verificações de pré-migração. On resume: switch to validate-only mode. Os resultados somente validados expiram 24 horas após a execução ser bem-sucedida; inicie (ou promova para) a migração completa dentro dessa janela.
--migration sinalizador resume Promover uma execução somente validação bem-sucedida para uma migração completa (conjuntos validateOnly=false e statusRequested=active). Válido somente quando a execução somente validação anterior terminou com status: Succeeded. Mutuamente excludente com --validate-only.
--cutover-date ISO 8601 create Substituição pré-agendada no momento da criação, por exemplo 2030-12-31T11:59:00Z.
--date ISO 8601 cutover set Agendar data e hora de substituição, por exemplo 2030-12-31T11:59:00Z. Deve estar no futuro.
--skip-validation cadeia create Lista separada por vírgulas de nomes de política de validação ou uma máscara de bits de inteiro não negativo. Nomes de política (que não diferenciam maiúsculas de minúsculas): , , , , , MaxFileSize, MaxPullRequestSize, , MaxReferenceNameLengthTargetRepositoryDoesNotExistBoardsGitHubConnectionProvisioningSourceRepositoryNotReadOnlyAllSourceRepositoryContainsLfsObjectsMaxPushPackSizeAgentPoolExistsPullRequestDeltaSizeActivePullRequestCountNone
--enable-boards-github-connection (--enable-boards-gh) sinalizador create Opte por provisionar a conexão Azure Boards GitHub na substituição. Desativado por padrão. Requer que o aplicativo Azure Boards GitHub seja instalado no destino GitHub organização antes da execução da migração.
--enable-auto-discover-pipelines (--auto-discover) sinalizador create Opte pela descoberta automática de pipeline na substituição. Desativado por padrão. --pipeline-service-connection-idRequer; a CLI rejeita o comando se você passar esse sinalizador sem uma conexão de serviço.
--pipeline-service-connection-id (--pipeline-sc-id) GUID create Project com escopo GitHub ID de conexão de serviço anexada no momento da criação para a nova largura de pipeline. Necessário para descoberta automática; opcional no modo manual, em que ele anexa previamente a conexão para que chamadas posteriores pipelines submit só precisem --pipeline-ids.
--accept-failures inteiro cutover approve Número de recursos de migração não processados a serem aceitos antes de prosseguir com a substituição. Forneça isso e/ou --pipelines-verified.
--pipelines-verified sinalizador cutover approve Reconheça que todos os pipelines religados foram verificados. Necessário quando cutover review retorna requiresPipelineVerificationAcknowledgment: true. Pode ser combinado com --accept-failures em uma chamada.
--pipeline-ids lista int pipelines submit, pipelines retry IDs de definição de pipeline. Aceita valores separados por espaço (42 43 44) ou separados por vírgulas (42,43,44).
--service-connection-id GUID pipelines submit, pipelines update ID de conexão de serviço GitHub com escopo Project. Opcional sobre submit se uma conexão já estava anexada no momento da criação ou via pipelines update.
--add-ids / --remove-ids / --retry-ids lista int pipelines update IDs de pipeline para adicionar, remover ou tentar novamente dentro do conjunto de rewiring.
--repository-mapping cadeia pipelines submit, pipelines update Mapeamento de repositório no formulário <sourceRepoId>=<targetOwner>/<targetRepo>. O destino deve estar em owner/repo forma, não em uma URL. Pode ser fornecido várias vezes.
--migration-id inteiro pipelines delete ID de migração usada para limpeza de nova largura de pipeline. Leia-o do Migration NN: prefixo no validationIssues texto de migrations status.
--remove-read-only sinalizador abandon Após a substituição, o repositório de Azure DevOps de origem é definido como somente leitura. Adicione esse sinalizador para restaurar o acesso de gravação. Aplica-se somente após a substituição.
--yes (-y) sinalizador abandon, pipelines delete Ignore o prompt de confirmação interativo. Útil para limpeza com script.
--include-all sinalizador list Retorne o histórico de migração completo por repositório, incluindo migrações concluídas, com falha e suspensas. (--include-inactive é um alias preterido.)
--detect sinalizador All Detectar a organização automaticamente do git remoto (padrão: true). Use --detect false para desativar.

Estágios de migração

Stage Description
Em fila Migração aceita; O trabalho ainda não começou.
Validation Executando verificações de pré-migração.
Synchronization Copiando e sincronizando o conteúdo do repositório.
Transição Executando a sincronização final e a transição para GitHub.
ReviewForCutover A substituição atingiu o horário agendado com falhas não resolvidas e está aguardando cutover approve (ou reagendando).
ReadyForCutover Aprovado e aguardando o próximo trabalho do ELM executar a substituição final.
Migrado Migração concluída. GitHub é o sistema de registro.

Status da migração

Status Meaning
Active A migração está em execução.
Succeeded A fase atual foi concluída com êxito.
Concluído A migração atingiu o estágio do terminal Migrated .
Falha Ocorreu um erro. Você pode retomar a migração depois de corrigir o problema.
Suspenso Pausado manualmente. Você pode retomar a migração.