2. Pré-requisitos completos

Serviços de DevOps do Azure

Antes de usar o ELM, certifique-se de que os seguintes requisitos são cumpridos em Azure DevOps Services e GitHub Enterprise Cloud com residência de dados.

Requisitos para repositórios de origem e destino

  • A migração deve ter origem na Azure DevOps Services (dev.azure.com). Azure DevOps Server não é suportado.
  • Um GitHub Enterprise Cloud alvo com residência de dados enterprise (<enterprise>.ghe.com) deve já existir.
  • O nome do repositório GitHub de destino não deve estar em uso.

Para obter o GUID do repositório do Azure DevOps, selecione um dos seguintes separadores:

az repos show --repository <repo-name> --query id -o tsv

O comando devolve o GUID do repositório. Guarda para usar quando começares a migração.

Requisitos de acesso

Serviços de DevOps do Azure

Requisito Detalhes
Permissão para migrações em tempo real Enterprise Tem de ter a permissão Enterprise Live Migrations: Manage Migrations definida como Allow ao nível do repositório. Para verificar, vá a Definições do Projeto>Repositórios>Segurança e confirme que o seu grupo ou conta de utilizador tem esta permissão. Se não o fizer, contacte o seu Project Collection Administrator (PCA) ou Project Administrator (PA) para solicitar acesso. Para obter mais informações, consulte Definir permissões do repositório Git.
Disponibilidade de agentes Linux auto-hospedados Se não houver um agente Linux auto-hospedado disponível, um PCA ou alguém com permissão para administrar a fila de agentes deve criar e registar um.
Permissão para criação de ligação ao serviço Um utilizador com as permissões apropriadas deve criar a ligação de serviço para a reconfiguração do pipeline.

Instale a aplicação Azure DevOps ELM a partir do GitHub Marketplace

Como administrador empresarial do GitHub, instale a aplicação Azure DevOps ELM tanto para a sua empresa como para a organização alvo.

  1. Aceder a https://<enterprise>.ghe.com/apps/external-app/azure-devops-elm.

  2. Selecione a sua empresa-alvo.

    Captura de ecrã da página de instalação do Azure DevOps ELM com a empresa-alvo e as organizações disponíveis para seleção.

  3. Selecione Instalar.

    Captura de ecrã da página de instalação empresarial do Azure DevOps ELM com a permissão de migração e o botão Instalar.

  4. Volte a https://<enterprise>.ghe.com/apps/external-app/azure-devops-elm, e depois selecione a sua organização alvo.

    Captura de ecrã da página de instalação do Azure DevOps ELM com a organização alvo disponível para seleção.

  5. Selecionar Todos os repositórios>Instalar.

    Captura de ecrã da página de instalação da organização do Azure DevOps ELM com Todos os repositórios selecionados e o botão Instalar.

Ferramentas necessárias

Os passos desta secção utilizam a linha de comandos. Instala a CLI do CLI do Azure e a extensão da CLI do Azure DevOps na máquina que usas para executar comandos de migração.

  1. Instala a CLI do Azure. Para obter mais informações, consulte Como instalar a CLI do Azure.

    Por exemplo, abra o Visual Studio Code e execute:

    winget install -e --id Microsoft.AzureCLI
    
  2. Instale a extensão CLI do Azure DevOps. Para mais informações, consulte Comece com Azure DevOps CLI:

    az extension add -n azure-devops
    

    Os az devops migrations comandos são fornecidos como parte da extensão padrão azure-devops . Não há uma extensão ELM separada para instalar.

  3. Verifique a extensão carregada:

    az devops migrations --help
    
  4. Para atualizar uma instalação existente:

    az extension update -n azure-devops
    
  5. (Recomendado) Defina a sua organização Azure DevOps como padrão para que cada comando migrations tenha como alvo o anfitrião certo:

    az devops configure --defaults organization=https://dev.azure.com/<org>
    

    Se ignorar este passo e executar comandos numa pasta em que o remoto git aponta para outra organização, a deteção automática da CLI escolhe esse remoto em vez do valor --org. Para o desativar num único comando, adicione --detect false.

Configure um agente Linux auto-hospedado

Use o portal Azure DevOps para selecionar ou criar um pool de agentes e depois execute os scripts de configuração de agentes numa máquina Linux.

  1. Em Definições do Projeto, vá a Conjuntos de agentes em Pipelines, selecione o conjunto que pretende utilizar para a migração e guarde o nome do conjunto.

  2. Se não tens um pool para usar, cria um agente Linux auto-hospedado. Para mais informações, consulte Deploy an Azure Pipelines agent no Linux. A versão curta:

    1. Confirme que tem permissão para registar um agente. Se és PCA, já tens esse acesso.
    2. Nas definições de organização Azure DevOps, vá a Pipelines>Agent pools.
    3. Seleciona o pool padrão ou o pool que te é auto-hospedado.
    4. Abre o separador Agentes e seleciona Novo agente.
    5. No diálogo Obter o agente , selecione Linux e descarregue o agente.
    6. No teu computador Linux, desembala o agente no diretório que escolheres e muda para esse diretório.
    7. Execute ./config.sh e depois ./run.sh.

Importante

Deve usar um agente baseado em Linux. Agentes baseados em Windows e macOS não são suportados.

Ativar a auditoria

O ELM regista os eventos do ciclo de vida da migração no registo de auditoria do Azure DevOps, incluindo início, pausa, retomada, corte agendado e abandono. Os administradores podem visualizar estes eventos nas definições> daorganização: Auditoria.

Configuração opcional para cenários híbridos

Use esta secção se planeia continuar a usar Azure DevOps com GitHub após a migração.

Instalar Azure Boards no GitHub

Se planeia continuar a usar o Azure Boards após a migração, um administrador empresarial do GitHub deve instalar a aplicação Azure Boards na sua organização GitHub antes do início da migração. Esta aplicação permite ao ELM criar a ligação ao Boards para que as equipas possam associar commits e pull requests do GitHub aos itens de trabalho do Azure DevOps.

Para verificar a instalação, vá a https://<enterpriseUrl>/organizations/<orgName>/settings/installations e confirme que o Azure Boards está listado. Se o Azure Boards não estiver listado, pede a um administrador empresarial do GitHub para instalar a aplicação Azure Boards no catálogo da tua aplicação empresarial.

Criar uma ligação ao serviço para reconfiguração do pipeline

Se planeia usar Azure DevOps e GitHub numa configuração híbrida e ligar o seu repositório GitHub ao Azure Pipelines, complete estes passos antes de iniciar a migração.

  1. Confirme que a aplicação Azure Pipelines está instalada na sua empresa GitHub em https://<enterpriseUrl>/organizations/<orgName>/settings/installations.
  2. Se o Azure Pipelines não estiver listado, peça a um administrador empresarial do GitHub para instalar a aplicação: https://<enterprise>.ghe.com/apps/external-app/azure-pipelines. Selecione Configurar e certifique-se de que o acesso ao Repositório está definido para Todos os Repositórios.
  3. No Azure DevOps, em Project Settings, selecione Ligações de Serviço.
  4. Selecione Nova ligação ao serviço e escolha GitHub Enterprise Cloud com residência de dados.
  5. Adicione o URL do GitHub e o nome da organização, e depois selecione Autorizar.
  6. Adicione um nome de ligação ao serviço e depois selecione Guardar.
  7. Abra a ligação de serviço que criou e copie o ID. Precisas deste ID para refazer a cablagem do oleoduto.

Valores a recolher para migração baseada em CLI

Use esta lista de verificação se planeia iniciar e gerir a migração usando comandos CLI do Azure DevOps em vez da interface do Azure DevOps.

Campo Example O seu valor
URL da organização do Azure DevOps https://dev.azure.com/<org>
Nome do projeto do Azure DevOps MyProject
Nome do repositório do Azure DevOps my-repo
GUID do repositório do Azure DevOps xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
URL da organização GitHub de destino https://<enterprise>.ghe.com/<org>
Nome do repositório alvo MyProject-MyRepo
ID de ligação do pipeline 9f6aa94e-xxxx-xxxx-xxxx-xxxx
Nome do conjunto de agentes Linux alojado no próprio ambiente <agent pool name>

Passo seguinte