Partilhar via


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

A avaliação em lote permite-lhe analisar múltiplas aplicações simultaneamente, proporcionando uma visão abrangente do panorama da modernização nas suas aplicações. Este artigo orienta-o através do processo de avaliação eficiente de múltiplos repositórios.

A avaliação por lotes é especialmente valiosa para o planeamento da migração, pois permite avaliar de forma eficiente a prontidão e os requisitos de várias aplicações em simultâneo. Ao utilizar a avaliação em lote, pode avaliar diferentes repositórios ao mesmo tempo e obter relatórios detalhados de avaliação para cada aplicação. Produz dois tipos de relatórios para apoiar o seu planeamento migratorial:

  • Segundo o relatório da aplicação: Fornece informações detalhadas sobre todos os problemas de modernização identificados ao nível do repositório individual.
  • Relatório agregado: Apresenta uma perspetiva geral de todas as aplicações avaliadas, oferecendo insights resumidos, recomendações sobre serviços Azure, plataformas-alvo e caminhos de atualização. Além disso, o relatório agregado inclui atalhos para fácil acesso a cada relatório por aplicação.

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

  • Visibilidade entre aplicações:

    • Relatórios agregados: Obtenha uma visão abrangente das aplicações.
    • Análise entre repositórios: Identificar padrões e dependências comuns entre aplicações.
    • Informações sobre priorização: Compreenda quais aplicações precisam de atenção imediata.
  • Escala e eficiência:

    • Processamento paralelo: Use Agentes de Cloud Coding para processar múltiplos repositórios simultaneamente.
    • Fluxos de trabalho automatizados: Integração com pipelines de CI/CD para realização de avaliações programadas.
    • Poupança de tempo: Reduza o tempo total de avaliação de semanas para horas.

Pré-requisitos

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

Configurar repositórios

Para ativar a avaliação em lote, crie um .github/modernize/repos.json ficheiro no seu diretório de trabalho que liste todos os repositórios que pretende avaliar.

Certifica-te de que tens as permissões corretas para os repositórios ou cria 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 exige:

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

Sugestão

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

Localização do ficheiro

Deve colocar o ficheiro repos.json em .github/modernize/repos.json.

O agente de modernização deteta automaticamente este ficheiro quando executa operações em lote.

Executar avaliação em lote

Estão disponíveis dois modos de execução:

  • Execução local: O agente de modernização processa repositórios um após outro na sua máquina local. Este modo funciona melhor para um conjunto mais pequeno de aplicações ou para testes iniciais.
  • Delegação do Agente de Codificação na Nuvem: O agente de modernização submete tarefas aos Agentes de Codificação na Nube do GitHub para processamento paralelo na cloud. Este modo é mais rápido para cenários de múltiplos repositórios.

Sugestão

Ao usar a delegação do Cloud Coding Agent, permite a execução paralela em todos os repositórios. Esta abordagem reduz significativamente o tempo total de avaliação para carteiras grandes.

Modo interativo (avaliar localmente)

  1. Execute o agente de modernização:

    modernize
    
  2. O agente deteta o repos.json ficheiro e apresenta a lista do repositório:

    Captura de ecrã do Modernize CLI que mostra a lista de repositórios no terminal.

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

    • Imprensa Ctrl+A para selecionar todos os repositórios.
    • Use as setas para navegar e pressione Space para selecionar repositórios individuais.
  4. Selecione 1. Avalie a candidatura a partir do menu principal.

    Captura de ecrã do Modernize CLI que mostra o menu de modernizar no terminal.

  5. Para executar a avaliação, escolha entre avaliar localmente ou delegar a agentes de cloud coding. Selecione 1. Avalie localmente.

    Captura de ecrã 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 de cada repositório um a um.

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

      Captura de ecrã do Modernize CLI que mostra a saída da geração de relatórios individuais de avaliação no terminal.

    • Cria um relatório agregado.

      Captura de ecrã do Modernize CLI que mostra a saída da geração agregada de relatórios no terminal.

  7. Quando a avaliação termina, o agente abre automaticamente o relatório agregado.

    Captura de ecrã do Modernize CLI que mostra o conteúdo do relatório agregado.

Modo interativo (delegação a Agentes de Codificação na Nuvem)

Primeiro, configure os Agentes de Codificação na Nuvem em cada repositório de aplicações. Para configurar Agentes de Codificação na Nuvem, faça um fork dos repositórios de exemplo.

Configuração para aplicações .NET

Configurar para correr no Windows para aplicações .NET Framework

Por defeito, o Copilot Coding Agent corre num ambiente Ubuntu Linux. Para aplicações .NET Framework, precisas de um ambiente Windows. Para o ativar, configure .github/workflows/copilot-setup-steps.yaml no ramo main do seu repositório de aplicações, como mostrado no seguinte exemplo:

# 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: Personalização do ambiente de desenvolvimento do Copilot com passos de configuração do Copilot

Desativar firewall

Desative o firewall integrado do agente de codificação do Copilot nas definições do seu repositório, como mostrado na imagem seguinte:

Captura de ecrã do GitHub que mostra as definições do repositório com a opção Ativar firewall definida para Desligado.

Configuração para aplicações Java

Configure o GitHub Copilot Modernization MCP Server na secção Cloud Coding Agent das definições do seu repositório, conforme mostrado no seguinte exemplo:

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

Captura de ecrã do GitHub que mostra as definições do agente de codificação do repositório com a secção de configuração MCP destacada.

Passos

  1. Execute o agente de modernização:

    modernize
    
  2. O agente deteta o repos.json ficheiro e apresenta a lista do repositório:

    Captura de ecrã do Modernize CLI que mostra a lista de repositórios no terminal.

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

    • Imprensa Ctrl+A para selecionar todos os repositórios.
    • Use as setas para navegar e pressione Space para selecionar repositórios individuais.
  4. Selecione 1. Avalie as candidaturas a partir do menu principal.

    Captura de ecrã do Modernize CLI que mostra o menu de modernizar no terminal.

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

    Captura de ecrã do Modernize CLI que mostra o menu de avaliação 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 aos Agentes de Codificação na Nuvem e executa-as na cloud em paralelo.

    Captura de ecrã do Modernize CLI que mostra o resultado do progresso da delegação de avaliação aos Agentes de Cloud Coding no terminal.

    O agente depois recolhe os resultados da avaliação por aplicação para local e gera o relatório agregado localmente.

    Captura de ecrã da CLI Modernize que mostra os Relatórios de Avaliação Agregada no terminal.

  7. Quando a avaliação termina, o agente abre automaticamente o relatório agregado.

Modo não interativo (CLI)

Também pode usar o modo não interativo especificando diretamente os argumentos de comando. 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 mais informações, consulte avaliar - comandos CLI.

Compreender o relatório agregado

O relatório agregado oferece uma visão abrangente das candidaturas avaliadas da seguinte forma:

Dashboard

  • Resumo da saúde do portefólio: total de aplicações, quantas precisam de atualizações e contagem agregada de bloqueadores e de problemas.
  • Distribuição tecnológica: que frameworks estão em uso e quantas aplicações os partilham.
  • Distribuição do esforço: se a migração global é uma tarefa pequena ou grande.

Recomendações

  • Azure Services: mapeia dependências atuais para equivalentes recomendados no Azure. As dependências partilhadas nas aplicações são decididas uma única vez, por isso evitas retrabalho por aplicação.
  • Plataforma Target: orienta a escolha de alojamento, como Aplicações Container versus AKS, e destaca oportunidades de consolidação.
  • Caminho de Atualização: identifica quais as aplicações que necessitam de atualizações da framework como pré-requisito, separando o trabalho de atualização do trabalho de migração.
  • Ondas de Migração: sequenciam as aplicações por prontidão e risco em fases. Esta abordagem permite vitórias precoces enquanto as aplicações mais difíceis são preparadas em paralelo.

Matriz de Avaliação de Candidaturas

  • Visão geral rápida para cada aplicação sobre aspetos do framework, plataforma alvo, recomendação de atualização, divisão de problemas (Obrigatório, Potencial, Opcional), dimensionamento do esforço e mais.
  • Links para relatórios individuais de aplicações para análise detalhada quando necessário.

Resolução de problemas de avaliação por lotes

Problemas comuns

Erros de acesso ao repositório:

  • Verifique a autenticação no GitHub usando gh auth status.
  • Certifique-se de que tem acesso a todos os repositórios listados em repos.json.

Falhas de clones:

  • Verifique se os repos.json URLs dos repositórios estão corretos e acessíveis.
  • Certifica-te de que tens as permissões de acesso corretas para todos os repositórios.
  • Verifica a tua conectividade de rede e as definições da VPN.

Falhas na avaliação:

  • Verifique se o repositório contém projetos Java ou .NET válidos.
  • Verifique se existem ficheiros de compilação, como pom.xml, build.gradle, *.csproj, ou *.sln.
  • Veja as mensagens de erro na saída da consola.

Problemas com delegação de Agentes de Codificação na Nuvem:

  • Certifica-te de que tens as permissões corretas para criar fluxos de trabalho de Ações no GitHub.
  • Verifique as permissões de Ações do GitHub e os limites de quotas para a sua organização.
  • Para aplicações do .NET Framework, certifique-se de que a configuração do Windows Runner está corretamente definida.
  • Verifica a configuração do teu servidor MCP.

Passos seguintes

Após completar a avaliação em lote, poderá:

Continue o fluxo de trabalho de modernização:

Saiba mais:

Fornecer comentários

Valorizamos a sua opinião! Se tiver algum feedback sobre a avaliação em lote ou o agente de modernização, crie uma questão no repositório github-copilot-appmod ou use o formulário de feedback de modernização do GitHub Copilot.