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.
Visão geral
Aprenda a migrar .NET aplicações para Azure usando o plugin GitHub Copilot modernização em Copilot CLI.
O plugin fornece um fluxo de trabalho autónomo multiagente que avalia a sua aplicação .NET, gera um plano de modernização executável e realiza a migração — tudo a partir do terminal. Suporta migrações para Azure, correções de vulnerabilidades CVE e rearquitetura de aplicações.
Observação
GitHub Copilot CLI está disponível nos planos GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business e GitHub Copilot Enterprise. Se receber o Copilot através de uma organização, um administrador deve ativar a política de CLI do Copilot nas definições da organização.
O que pode fazer
| Capacidade | Description |
|---|---|
| .NET migração para Azure | Avaliar e migrar aplicações .NET para serviços Azure (Service Bus, SQL do Azure, Redis, Key Vault, Application Insights, Managed Identity), incluindo auditorias de segurança NuGet e migrações ASP.NET-para-Azure |
| CVE e correção de vulnerabilidades | Analisar e corrigir vulnerabilidades CVE em dependências do NuGet |
| Rearquitetura de aplicações | Reescritas estruturais, como a decomposição de um monólito em microsserviços, a modernização de interfaces de utilizador legadas e a extração de módulos |
Pré-requisitos
- Instala a CLI do Copilot.
- Uma subscrição do GitHub Copilot. Ver planos do Copilot.
Instala o plugin
Num terminal, executa
copilotpara iniciar Copilot CLI.copilotAdiciona o marketplace e instala o plugin:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationVerifique se o plugin está instalado listando os plugins instalados:
/plugin listVocê deve ver
github-copilot-modernization:modernizena lista.
Atualizar o plugin
Para atualizar o plugin quando uma nova versão estiver disponível, execute:
copilot plugin update github-copilot-modernization@github-copilot-modernization
Iniciar uma tarefa de modernização
Opção 1: Começar diretamente com o agente
Navegue até à pasta do seu projeto .NET e inicie a CLI do Copilot com o agente de modernização:
cd /path/to/your/dotnet-project
copilot --agent=github-copilot-modernization:modernize
Opção 2: Selecionar o agente dentro do CLI do Copilot
Se já estiveres numa sessão Copilot CLI, usa o comando /agent para mudar para o agente de modernização:
/agent
Selecione github-copilot-modernization:modernize da lista.
Importante
Tem de selecionar o agente github-copilot-modernization:modernize antes de executar quaisquer pedidos de modernização. Sem este agente selecionado, a CLI do Copilot utiliza o agente padrão, que não pode utilizar toda a orquestração multi-agente, o suporte ao playbook empresarial e as capacidades especializadas de migração que o plugin oferece.
Execute um prompt de modernização
Quando o agente estiver ativo, descreva o que quer em linguagem natural:
copilot> modernize my application
Ou seja mais específico:
copilot> modernize my .NET application for Azure
copilot> migrate this app from local SQL Server to Azure SQL Database
copilot> fix CVE vulnerabilities in my project
Para execução não assistida, use a opção --allow-all:
copilot --agent=github-copilot-modernization:modernize --allow-all
Como funciona o fluxo de trabalho
O plugin utiliza um fluxo de trabalho trifásico que corre automaticamente. Não precisa de invocar cada fase manualmente — o orquestrador trata do encaminhamento com base no seu pedido.
Fase 1: Avaliação
- Detete a estrutura do projeto .NET e utiliza as ferramentas de análise apropriadas.
- Analisa dependências, frameworks e versões.
- Identifica oportunidades e riscos de modernização.
- Guarda resultados em
.github/modernize/assessment/.
Fase 2: Planeamento
- Carrega resultados de avaliação e restrições do manual empresarial (se existirem).
- Gera um plano de tarefa executável.
- Guarda o plano para
.github/modernize/<app>/plan.mdetasks.json.
Fase 3: Execução
- Encaminha tarefas para agentes executores especializados com base no tipo de tarefa.
- Cada executor consulta uma base de conhecimento para padrões de migração.
- Monitoriza o progresso com uma nova tentativa automática em caso de falha.
- Cria commits detalhados por tarefa para revisão.
O orquestrador suporta múltiplos pontos de entrada dependendo da sua intenção:
| Workflow | Quando é ativado | O que acontece |
|---|---|---|
| Intenção ampla | "Modernizar a minha aplicação" | Avaliação completa → planeamento → execução |
| Tarefa específica | "migrar do SQL Server para o SQL do Azure" | Ignora a avaliação, vai diretamente para o plano → execução |
| Executar o plano existente | "executar o plano" | Ignora a avaliação e o planeamento, executa um plano existente |
| Headless | Execução não assistida com --allow-all |
Igual à intenção genérica sem pedidos do utilizador |
Definir políticas de modernização empresarial
As organizações podem incorporar a sua intenção de modernização — arquiteturas alvo, padrões de atualização e políticas de conformidade — diretamente no fluxo de trabalho através de um manual de jogadas. Esta abordagem assegura que cada plano gerado está alinhado com os padrões empresariais sem revisão manual de cada decisão.
Configurar um manual de procedimentos
Coloque ficheiros Markdown no .github/modernize/playbook/ diretório do seu projeto. A fase de planeamento lê automaticamente todos os .md ficheiros desta pasta e funde-os com os resultados da avaliação antes de gerar o plano da tarefa.
Importante
As restrições do manual de procedimentos prevalecem sobre as recomendações de avaliação. Se o seu manual especificar "usar o Azure Service Bus para mensagens", essa escolha tem prioridade independentemente do que a avaliação descobrir.
O que podes definir num manual de jogadas
| Tipo de política | Examples |
|---|---|
| Arquiteturas alvo | Serviços de computação (App Service, AKS, Container Apps), escolhas de bases de dados (SQL do Azure, Cosmos DB), plataformas de mensagens (Service Bus, Event Hubs) |
| Normas de atualização | Versão alvo .NET, caminhos de migração do framework |
| Guardarrios | Tecnologias proibidas, requisitos de segurança, restrições de conformidade, normas de autenticação |
| Normas de codificação | Convenções de nomenclatura, padrões de autenticação, estruturas de registo |
| Estratégia de migração | Limites do âmbito, preferências de classificação 6R (rehost vs. refactor vs. rearchitect), estratégia de faseamento |
Exemplo de manual
Crie um ficheiro em .github/modernize/playbook/enterprise-standards.md:
# Enterprise Modernization Standards
## Target Architecture
- Use Azure Container Apps for microservices deployments
- Use Azure Service Bus for all asynchronous messaging
- Use Azure SQL Database for relational data
- Use Azure Blob Storage for file storage
## Security & Compliance
- All services must authenticate using Managed Identity — no connection strings or passwords in code
- All public endpoints must be behind Azure Front Door
## Guardrails
- Do not use Azure Functions for long-running processes
- All infrastructure must be defined in Bicep
Não é necessário um nome ou estrutura fixa — o orquestrador infere o propósito de cada ficheiro a partir do seu conteúdo.
Predefinições incorporadas
Sem um playbook, o plugin aplica valores predefinidos sensatos:
- Azure: Identidade gerida para autenticação; serviços de base de dados geridos para dados relacionais.
- Mensagens: Mensagens locais → Azure Service Bus.
- Infrastructure: Bicep por predefinição.
Cenários comuns
Migração do Azure
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my .NET application for Azure
Migrar do SQL Server local para o SQL do Azure
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local SQL Server to Azure SQL Database with managed identity
Migrar do file I/O para Armazenamento de Blobs do Azure
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local file I/O to Azure Blob Storage
CVE e correção de segurança
copilot --agent=github-copilot-modernization:modernize
copilot> fix CVE vulnerabilities in my project
Rearquitetura de aplicações
copilot --agent=github-copilot-modernization:modernize
copilot> rearchitect my monolithic application into microservices
Modernização total
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my application
Solução de problemas
Plugin não encontrado
# Verify marketplace is added
copilot plugin marketplace list
# Re-add marketplace if needed
copilot plugin marketplace add microsoft/github-copilot-modernization
# Reinstall
copilot plugin install github-copilot-modernization@github-copilot-modernization
Avaliação falhada: nenhuma candidatura encontrada
- Verifique se a raiz do seu projeto contém um ficheiro
.csprojou.sln. - Certifica-te de que estás no diretório correto antes de começares o Copilot CLI.
Problemas com o servidor MCP
O plugin utiliza o servidor MCP definido na sua configuração. Se encontrares problemas, reinstala o plugin para reiniciar a configuração MCP.
Fornecer comentários
Partilhe feedback sobre GitHub Copilot CLI utilizando o formulário de feedback GitHub Copilot CLI .