Compartilhar via


Avaliação em lote com o agente de modernização do GitHub Copilot

A avaliação em lote permite que você analise vários aplicativos simultaneamente, fornecendo uma visão abrangente do cenário de modernização em seus aplicativos. Este artigo orienta você pelo processo de avaliação eficiente de vários repositórios.

A avaliação em lote é especialmente valiosa para o planejamento de migração, pois permite avaliar com eficiência a preparação e os requisitos de vários aplicativos ao mesmo tempo. Usando a avaliação em lote, você pode avaliar repositórios diferentes ao mesmo tempo e obter relatórios detalhados de avaliação para cada aplicativo. Ele produz dois tipos de relatórios para dar suporte ao seu planejamento de migração:

  • Relatório por aplicativo: fornece insights detalhados sobre todos os problemas de modernização identificados no nível do repositório individual.
  • Relatório agregado: apresenta uma perspectiva geral de todos os aplicativos avaliados, oferecendo insights resumidos, recomendações sobre serviços do Azure, plataformas de destino e caminhos de atualização. Além disso, o relatório agregado inclui atalhos para facilitar o acesso a cada relatório por aplicativo.

A avaliação em lote fornece os seguintes benefícios:

  • Visibilidade entre aplicativos:

    • Relatórios agregados: obtenha uma exibição abrangente entre aplicativos.
    • Análise entre repositórios: identifique padrões e dependências comuns entre aplicativos.
    • Insights de priorização: Entenda quais aplicações precisam de atenção imediata.
  • Escala e eficiência:

    • Processamento paralelo: use agentes de codificação de nuvem para processar vários repositórios simultaneamente.
    • Fluxos de trabalho automatizados: integre-se aos pipelines de CI/CD para avaliação agendada.
    • Economia de tempo: reduza o tempo total de avaliação de semanas para horas.

Pré-requisitos

  • Modernizar a CLI.
  • Acesso a todos os repositórios que você deseja avaliar.
  • A autenticação do GitHub está configurada (gh auth login).

Configurar repositórios

Para habilitar a avaliação em lote, crie um .github/modernize/repos.json arquivo em seu diretório de trabalho que lista todos os repositórios que você deseja avaliar.

Certifique-se de que você tenha as permissões corretas para os repositórios ou faça um fork deles.

[
  {
    "name": "PhotoAlbum-Java",
    "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
  },
  {
    "name": "PhotoAlbum",
    "url": "https://github.com/Azure-Samples/PhotoAlbum.git"
  },
  {
    "name": "eShopOnWeb",
    "url": "https://github.com/dotnet-architecture/eShopOnWeb.git"
  }
]

Configuração do repositório

Cada entrada requer:

  • nome: um nome amigável para o repositório (usado em relatórios e dashboards).
  • url: a URL de clone do Git no formato HTTPS.

Dica

Você pode incluir repositórios de diferentes organizações e usar diferentes métodos de autenticação, desde que tenha acesso.

Local do arquivo

Você deve colocar o arquivo repos.json em .github/modernize/repos.json.

O agente de modernização detecta automaticamente esse arquivo quando executa operações em lote.

Executar avaliação em lote

Dois modos de execução estão disponíveis:

  • Execução local: o agente de modernização processa repositórios um após o outro em seu computador local. Esse modo funciona melhor para um conjunto menor de aplicativos ou para testes iniciais.
  • Delegação do Cloud Coding Agent: o agente de modernização envia tarefas aos Agentes de Codificação de Nuvem do GitHub para processamento paralelo na nuvem. Esse modo é mais rápido para cenários de vários repositórios.

Dica

Usando a delegação do Cloud Coding Agent, você habilita a execução paralela em todos os repositórios. Essa abordagem reduz significativamente o tempo total de avaliação para grandes portfólios.

Modo interativo (avaliar localmente)

  1. Execute o agente de modernização:

    modernize
    
  2. O agente detecta o repos.json arquivo e exibe a lista de repositórios:

    Captura de tela da CLI de Modernização que mostra a lista de repositórios no terminal.

  3. Selecione repositórios para avaliar e pressione Enter para confirmar sua seleção.

    • Imprensa Ctrl+A para selecionar todos os repositórios.
    • Use teclas de direção para navegar e pressionar Space para selecionar repositórios individuais.
  4. Selecione 1. Avalie o aplicativo no menu principal.

    Captura de tela do Modernize CLI que mostra o menu Modernize no terminal.

  5. Para executar a avaliação, escolha avaliar localmente ou delegar aos agentes de codificação de nuvem. Selecione 1. Avalie localmente.

    Captura de tela do Modernize CLI que mostra o menu de avaliação no terminal.

  6. O agente automaticamente:

    • Clona todos os repositórios selecionados.

    • Executa a avaliação em cada repositório um por um.

    • Gera relatórios de avaliação individuais.

      Captura de tela do Modernize CLI que mostra a saída da geração de relatório de avaliação individual no terminal.

    • Cria um relatório agregado.

      Captura de tela da CLI de Modernização que mostra a saída da geração de relatório agregada no terminal.

  7. Quando a avaliação for concluída, o agente abrirá automaticamente o relatório agregado.

    Captura de tela da CLI de Modernização que mostra o conteúdo do relatório agregado.

Modo interativo (delegando a agentes de codificação na nuvem)

Primeiro, configure os Agentes de Codificação de Nuvem em cada repositório de aplicativos. Para configurar os Agentes de Codificação na Nuvem, bifurque os repositórios de exemplo.

Configuração para aplicativos .NET

Configurar para execução em aplicativos do Windows para .NET Framework

Por padrão, o Copilot Coding Agent é executado em um ambiente Ubuntu Linux. Para aplicativos do .NET Framework, você precisa de um ambiente do Windows. Para habilitá-lo, configure .github/workflows/copilot-setup-steps.yaml no main branch do repositório de aplicativos, conforme mostrado no exemplo a seguir:

# Windows-based Copilot Setup Steps for .NET tasks
# Note: Windows runners have firewall limitations that may affect some network operations
# Use this workflow for .NET projects that require Windows-specific tooling

name: "Copilot Setup Step (Windows)"

on:
  workflow_dispatch:

jobs:
  copilot-setup-steps:
    runs-on: windows-latest
    permissions:
      contents: read
    steps:
      - name: Checkout code
        uses: actions/checkout@v5

Saiba mais em: Personalizando o ambiente de desenvolvimento do Copilot com as etapas de instalação do Copilot

Desabilitar firewall

Desabilite o firewall integrado do agente de codificação copilot nas configurações do repositório, conforme mostrado na imagem a seguir:

Captura de tela do GitHub que mostra as configurações do repositório com a configuração Habilitar firewall definida como Desativado.

Configuração para aplicativos Java

Configure o GitHub Copilot Modernization MCP Server na seção Cloud Coding Agent das configurações do repositório, conforme mostrado no exemplo a seguir:

{
  "mcpServers": {
    "app-modernization": {
      "type": "local",
      "command": "npx",
      "tools": [
        "*"
      ],
      "args": [
        "-y",
        "@microsoft/github-copilot-app-modernization-mcp-server"
      ]
    }
  }
}

Captura de tela do GitHub que mostra as configurações do agente de codificação do repositório com a seção de configuração do MCP realçada.

Steps

  1. Execute o agente de modernização:

    modernize
    
  2. O agente detecta o repos.json arquivo e exibe a lista de repositórios:

    Captura de tela da CLI de Modernização que mostra a lista de repositórios no terminal.

  3. Selecione repositórios para avaliar e pressione Enter para confirmar sua seleção.

    • Imprensa Ctrl+A para selecionar todos os repositórios.
    • Use teclas de direção para navegar e pressionar Space para selecionar repositórios individuais.
  4. Selecione 1. Avalie os aplicativos no menu principal.

    Captura de tela do Modernize CLI que mostra o menu Modernize no terminal.

  5. Para executar a avaliação, selecione 2. Delegar aos Agentes de Codificação na Nuvem.

    Captura de tela da CLI de Modernização que mostra o menu avaliar com a opção Delegar para Agentes de Codificação na Nuvem selecionada.

  6. O agente delega automaticamente tarefas de avaliação para cada repositório para Agentes de Codificação na Nuvem e executa-as na nuvem em paralelo.

    Captura de tela da CLI de Modernização que mostra a saída do progresso da delegação da avaliação aos Agentes de Codificação de Nuvem no terminal.

    Em seguida, o agente coleta os resultados da avaliação por aplicativo e gera o relatório agregado localmente.

    Captura de tela do Modernize CLI que mostra a Agregação de Relatórios de Avaliação no terminal.

  7. Quando a avaliação for concluída, o agente abrirá automaticamente o relatório agregado.

CLI (modo não interativo)

Você também pode usar o modo não interativo especificando argumentos de comando diretamente. Use o comando modernize assess:

Avalie localmente:

modernize assess --multi-repo

Avalie delegando aos Agentes de Codificação na Nuvem:

modernize assess --delegate cloud

Para obter mais informações, consulte avaliar – comandos da CLI.

Noções básicas sobre o relatório agregado

O relatório agregado fornece uma visão abrangente nos aplicativos avaliados, como se segue:

Dashboard

  • Instantâneo da integridade do portfólio: total de aplicativos, quantos precisam de upgrades e agregação de contagens de bloqueadores e problemas.
  • Distribuição de tecnologia: quais estruturas estão em uso e quantos aplicativos as compartilham.
  • Distribuição de esforço: se a migração geral é uma tarefa pequena ou grande.

Recomendações

  • Serviços do Azure: mapeia as dependências atuais para equivalentes recomendados do Azure. As dependências compartilhadas entre os aplicativos são decididas apenas uma vez, portanto, você evita o retrabalho em cada aplicativo.
  • Plataforma de destino: guia a escolha de hospedagem, como Container Apps versus AKS, e apresenta oportunidades de consolidação.
  • Caminho de Atualização: identifica quais aplicativos precisam de atualizações de estrutura como um pré-requisito, separando o trabalho de atualização do trabalho de migração.
  • Ondas de Migração: sequencia aplicativos por preparação e risco em fases. Essa abordagem permite ganhos antecipados enquanto aplicativos mais difíceis são preparados em paralelo.

Matriz de Avaliação de Aplicativo

  • Visão geral rápida de cada aplicativo sobre aspectos da estrutura, plataforma de destino, recomendação de atualização, detalhamento de problemas (Obrigatório, Potencial, Opcional), dimensionamento de esforço e muito mais.
  • Links para relatórios de aplicativos individuais para análise detalhada quando necessário.

Solução de problemas de avaliação em lote

Problemas comuns

Erros de acesso ao repositório:

  • Verifique a autenticação do GitHub usando gh auth status.
  • Verifique se você tem acesso a todos os repositórios listados em repos.json.

Falhas de clonagem:

  • Verifique se as URLs do repositório estão corretas repos.json e acessíveis.
  • Verifique se você tem as permissões de acesso corretas para todos os repositórios.
  • Verifique a conectividade de rede e as configurações de VPN.

Falhas de avaliação:

  • Verifique se o repositório contém projetos Java ou .NET válidos.
  • Verifique se existem arquivos de build, comopom.xml, , build.gradleou *.csproj*.sln.
  • Examine as mensagens de erro na saída do console.

Problemas de delegação do Cloud Coding Agent:

  • Verifique se você tem as permissões certas para criar fluxos de trabalho do GitHub Actions.
  • Verifique as permissões e os limites de cota do GitHub Actions para sua organização.
  • Para aplicativos do .NET Framework, verifique se a configuração do executor do Windows está definida corretamente.
  • Verifique a configuração do servidor MCP.

Próximas Etapas 

Depois de concluir a avaliação em lote, você pode:

Continue o fluxo de trabalho de modernização:

Saiba mais:

Fornecer comentários

Valorizamos sua entrada! Se você tiver algum comentário sobre a avaliação em lotes ou o agente de modernização, crie um problema no repositório github-copilot-appmod ou use o formulário de comentários de modernização do GitHub Copilot.