Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 de 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.
- GitHub autenticação está configurada (
gh auth login).
Configurar repositórios
O agente de modernização suporta várias formas de especificar os repositórios que pretende avaliar:
- Pasta atual: Analise o projeto no seu diretório de trabalho corrente.
- Entrada manual: Introduza diretamente caminhos de diretórios locais ou URLs Git remotos.
- Ficheiro de configuração do repositório: Use um ficheiro de configuração JSON que liste todos os repositórios.
Ficheiro de configuração do repositório
Para operações em lote em vários repositórios, crie um ficheiro de configuração JSON para listar todos os repositórios. Por exemplo, crie-o em .github/modernize/repos.json no seu diretório de trabalho, ou forneça um caminho personalizado.
Certifica-te de que tens as permissões corretas para os repositórios ou cria um fork deles.
Formato simples (array de repositórios):
[
{
"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"
}
]
Formato completo (com ramais e caminhos locais):
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "local-project",
"path": "/absolute/path/to/project"
}
]
}
Cada entrada de repositório suporta os seguintes campos:
| Campo | Descrição | Obrigatório |
|---|---|---|
name |
Um nome amigável para o repositório (usado em relatórios e dashboards). | Sim |
url |
URL de clonagem do Git nos formatos HTTPS ou SSH. | Um de url ou path |
path |
Caminho de diretório local absoluto. | Um de url ou path |
branch |
Faz um ramo para verificar depois da clonagem. | No |
description |
Descrição legível para humanos. | No |
Formato completo com agrupamento de aplicações (opcional, para relatórios organizados):
Pode adicionar uma apps[] secção para agrupar repositórios em aplicações lógicas. Quando as aplicações são definidas, o relatório agregado organiza os resultados por aplicação e suporta a distribuição de relatórios para destinos externos.
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
],
"apps": [
{
"identifier": "photo-app",
"description": "Photo management application",
"repos": ["PhotoAlbum-Java"],
"output": {
"type": "local",
"path": "/path/to/reports/photo-app"
}
}
]
}
Cada entrada da aplicação suporta:
| Campo | Descrição | Obrigatório |
|---|---|---|
identifier |
Nome de exibição único da aplicação. | Sim |
description |
Descrição legível para humanos. | No |
repos |
Lista de nomes de repositórios que pertencem a esta aplicação. | Sim |
output |
Onde distribuir o relatório de avaliação desta aplicação depois de gerado. | No |
O output campo suporta os seguintes tipos de distribuição:
| Tipo | Descrição | Campos obrigatórios |
|---|---|---|
local |
Copiar os relatórios para um diretório local. | path |
git |
Envie relatórios para um repositório Git. O formato URL é https://github.com/org/repo.git#branch:path. |
url |
Sugestão
Pode incluir repositórios de diferentes organizações e usar métodos de autenticação distintos, desde que tenha acesso.
O agente de modernização deteta automaticamente o ficheiro repos.json em .github/modernize/repos.json quando seleciona De um ficheiro de configuração em modo interativo. Também pode fornecer um caminho personalizado.
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. Suporta tanto URL Git como repositórios de caminhos locais.
: O agente de modernização submete tarefas aos Agentes de Codificação GitHub na Nuvem para processamento paralelo na cloud. Este modo é mais rápido para cenários de múltiplos repositórios.
Importante
A delegação do Cloud Coding Agent exige que os repositórios tenham URLs de repositório GitHub (github.com) . Repositórios de caminhos locais e fornecedores não-GitHub (GitLab, Azure DevOps) não são suportados para delegação na cloud. Use execução local para esses 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)
Execute o agente de modernização:
modernizeSelecione Avaliar no menu principal.
Escolha como especificar os seus repositórios-alvo. Selecione De um ficheiro de configuração para usar um
repos.jsonficheiro.Sugestão
Também pode selecionar entrada manual para introduzir caminhos locais ou URLs Git remotos diretamente, ou a pasta Current para avaliar o projeto no seu diretório atual.
Se o
repos.jsonficheiro for detetado na localização predefinida, o agente preenche-o automaticamente. Caso contrário, introduza o caminho para o seu ficheiro de configuração e pressione Enter.Todos os repositórios são selecionados por padrão. Desmarque quaisquer repositórios que queira saltar e depois pressione Enter para confirmar a sua seleção.
- Use as setas para navegar e pressione Espaço para alternar repositórios individuais.
Escolhe o modo de execução. Selecione Avaliar localmente.
Selecione os domínios de avaliação a analisar. Escolha entre Java upgrade e Cloud Readiness, e depois pressione Enter.
Revise e configure as opções de avaliação. A página de configuração mostra opções agrupadas por língua e domínio:
- Java / GERAL: Cobertura de Análise (Apenas Questões, Questões e Tecnologias, ou Questões, Tecnologias e Dependências).
- Java / JAVA UPGRADE: Tempo de execução alvo (OpenJDK 11, 17 ou 21).
- Java / CLOUD READINESS: Serviços de Computação Target, Sistema Operativo Target e Containerização.
- .NET / CLOUD READINESS: Serviços de Computação de Destino.
Use as setas para navegar, pressione Enter para alterar um valor, ou selecione Continuar para prosseguir com as definições atuais.
Sugestão
Os padrões recomendados funcionam na maioria dos cenários. Só precisa de alterar estas definições se tiver requisitos específicos, como direcionar uma versão específica do JDK ou um serviço de computação do Azure.
Introduza o caminho de saída para os resultados da avaliação ou pressione Enter para aceitar o padrão.
O agente automaticamente:
Quando a avaliação termina, o agente abre automaticamente o 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 do .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 as etapas de configuração do Copilot
Desativar firewall
Desative o firewall integrado do agente de codificação Copilot nas definições do seu repositório, conforme mostrado na imagem seguinte:
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"
]
}
}
}
Passos
Execute o agente de modernização:
modernizeSelecione Avaliar no menu principal.
Escolha como especificar os seus repositórios-alvo. Selecione De um ficheiro de configuração para usar um ficheiro
repos.json, ou selecione Entrada manual para introduzir diretamente os URLs dos repositórios GitHub.Se De um ficheiro de configuração for selecionado e o ficheiro
repos.jsonfor detetado na localização predefinida, o agente preenche-o automaticamente. Caso contrário, introduza o caminho para o seu ficheiro de configuração e pressione Enter.Todos os repositórios são selecionados por padrão. Desmarque quaisquer repositórios que queira saltar e depois pressione Enter para confirmar a sua seleção.
- Use as setas para navegar e pressione Espaço para alternar repositórios individuais.
Escolhe o modo de execução. Selecione Delegar para Agentes na Nuvem.
Observação
Quando se delega para Agentes de Programação na Nuvem, os passos de seleção de domínio e configuração de avaliação não são suportados. O agente cloud usa as configurações padrão para executar a avaliação.
Introduza o caminho de saída para os resultados da avaliação ou pressione Enter para aceitar o padrão.
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.
O agente recolhe os resultados da avaliação por aplicação para local e gera o relatório agregado localmente.
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 usando um ficheiro de configuração de repositório:
modernize assess --source .github/modernize/repos.json
Avalie múltiplos repositórios especificando diretamente as fontes:
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
Avalie delegando aos Agentes de Codificação na Nuvem:
modernize assess --source .github/modernize/repos.json --delegate cloud --wait
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 Azure recomendados. 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 Azure Container Apps 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 GitHub autenticação 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.jsonURLs 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 válidos em Java ou .NET.
- Verifique se existem ficheiros de build, como
pom.xml,build.gradle,*.csproj,*.sln, ou*.slnx. - 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 no GitHub Actions.
- Verifique as permissões do GitHub Actions 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:
- Execute atualizações em lote entre repositórios - Aplique atualizações consistentes com base nos resultados da avaliação.
Saiba mais:
- Crie competências personalizadas para padrões específicos da organização.
- Aprenda sobre comandos CLI.
Fornecer comentários
Valorizamos a sua opinião! Se tiveres algum feedback sobre a avaliação por lote ou o agente Modernization, cria um problema no repositório github-copilot-appmod ou usa o formulário de feedback de modernização GitHub Copilot.