Migrar aplicativos .NET para o Azure usando a modernização do GitHub Copilot no Copilot CLI

Visão geral

Saiba como migrar aplicativos .NET para Azure usando o plug-in GitHub Copilot modernização no Copilot CLI.

O plug-in fornece um fluxo de trabalho autônomo de vários agentes que avalia seu aplicativo .NET, gera um plano de modernização executável e executa a migração , tudo a partir do terminal. Ele dá suporte a migrações Azure, correções de vulnerabilidade CVE e rearquitectura de aplicativo.

Observação

A CLI do GitHub Copilot está disponível nos planos GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business e GitHub Copilot Enterprise. Se você receber o Copilot por meio de uma organização, um administrador deverá habilitar a política da CLI do Copilot nas configurações da organização.

O que você pode fazer

Capacidade Description
migração do .NET para o Azure Avaliar e migrar aplicativos .NET para serviços de Azure (Barramento de Serviço, SQL do Azure, Redis, Key Vault, Application Insights, Identidade Gerenciada), incluindo auditorias de segurança do NuGet e migrações ASP.NET para Azure
Correção de CVE e vulnerabilidade Verificar e corrigir vulnerabilidades de CVE em dependências do NuGet
Rearquitectura do aplicativo Regravações estruturais, como decomposição de monolito para microsserviços, modernização da interface do usuário herdada e extração de módulo

Pré-requisitos

Instalar o plug-in

  1. Em um terminal, execute copilot para iniciar Copilot CLI.

    copilot
    
  2. Adicione o marketplace e instale o plug-in:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  3. Verifique se o plug-in está instalado listando plug-ins instalados:

    /plugin list
    

    Você deve ver github-copilot-modernization:modernize na lista.

Atualizar o plug-in

Para atualizar o plug-in 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: iniciar diretamente com o agente

Navegue até sua pasta de projeto .NET e inicie Copilot CLI com o agente de modernização:

cd /path/to/your/dotnet-project
copilot --agent=github-copilot-modernization:modernize

Opção 2: Selecionar o agente de dentro da CLI Copilot

Se você já estiver em uma sessão da CLI Copilot, use o comando /agent para alternar para o agente de modernização:

/agent

Selecione github-copilot-modernization:modernize na lista.

Importante

Você deve selecionar o github-copilot-modernization:modernize agente antes de executar os prompts de modernização. Sem esse agente selecionado, Copilot CLI usa o agente padrão, que não pode usar a orquestração completa de vários agentes, o suporte a guias estratégicos corporativos e os recursos de migração especializados que o plug-in fornece.

Executar um prompt de modernização

Depois que o agente estiver ativo, descreva o que você deseja 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 autônoma, use o --allow-all sinalizador:

copilot --agent=github-copilot-modernization:modernize --allow-all

Como funciona o fluxo de trabalho

O plug-in usa um fluxo de trabalho de três fases que é executado automaticamente. Você não precisa invocar cada fase manualmente – o orquestrador manipula o roteamento com base em sua solicitação.

Fase 1: Avaliação

  • Detecta a estrutura do projeto .NET e usa as ferramentas de análise adequadas.
  • Analisa dependências, estruturas e versões.
  • Identifica oportunidades e riscos de modernização.
  • Salva resultados em .github/modernize/assessment/.

Fase 2: Planejamento

  • Carrega os resultados da avaliação e as restrições do guia estratégico empresarial (se estiverem presentes).
  • Gera um plano de tarefa executável.
  • Salva o plano em .github/modernize/<app>/plan.md e tasks.json.

Fase 3: Execução

  • Roteia tarefas para agentes executores especializados com base no tipo de tarefa.
  • Cada executor consulta uma base de dados de conhecimento para padrões de migração.
  • Monitora o progresso com nova tentativa automática em caso de falha.
  • Cria confirmações detalhadas por tarefa para revisão.

O orquestrador dá suporte a vários pontos de entrada, dependendo de sua intenção:

Workflow Quando ele é ativado O que acontece
Intenção ampla "modernizar meu aplicativo" Avaliar → plano completo → executar o pipeline
Tarefa específica "migrar de SQL Server para SQL do Azure" Ignora a avaliação, vai direto para o plano → executar
Executar plano existente "executar o plano" Ignora a avaliação e o planejamento, executa um plano existente
Headless Execução sem supervisão com --allow-all Igual à intenção abrangente sem solicitações do usuário

Definir políticas de modernização empresarial

As organizações podem inserir suas intenções de modernização – arquiteturas de destino, padrões de atualização e políticas de conformidade – diretamente no fluxo de trabalho por meio de um guia estratégico. Essa abordagem garante que todos os planos gerados se alinhem aos padrões empresariais sem revisão manual de cada decisão.

Configurar um manual de procedimentos

Coloque arquivos Markdown no .github/modernize/playbook/ diretório do seu projeto. A fase de planejamento lê automaticamente todos os .md arquivos nessa pasta e os mescla com os resultados da avaliação antes de gerar o plano de tarefa.

Importante

As restrições de guia estratégico substituem as recomendações de avaliação. Se o guia estratégico especificar "usar Barramento de Serviço do Azure para mensagens", essa escolha terá precedência, independentemente do que a avaliação descobrir.

O que você pode definir em um guia estratégico

Tipo de política Exemplos
Arquiteturas de destino Serviços de computação (Serviço de Aplicativo, AKS, Aplicativos de Contêiner), opções de banco de dados (SQL do Azure, Cosmos DB), plataformas de mensagens (Barramento de Serviço, Hubs de Eventos)
Padrões de atualização Versão de destino do .NET, caminhos de migração de framework
Guardrails Tecnologias proibidas, requisitos de segurança, restrições de conformidade, padrões de autenticação
Padrões de codificação Convenções de nomenclatura, padrões de autenticação, estruturas de log
Estratégia de migração Limites do escopo, preferências de classificação 6R (rehost vs. refactor vs. rearchitect), estratégia de faseamento

Manual de exemplo

Crie um arquivo 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

Nenhuma nomenclatura ou estrutura fixa é necessária– o orquestrador infere a finalidade de cada arquivo de seu conteúdo.

Padrões integrados

Sem um guia estratégico, o plug-in aplica padrões sensatos:

  • Azure: Identidade Gerenciada para autenticação; serviços de banco de dados gerenciado para dados relacionais.
  • Messaging: Mensagens locais → Barramento de Serviço do Azure.
  • Infrastructure: Bicep por padrão.

Cenários comuns

migração Azure

copilot --agent=github-copilot-modernization:modernize
copilot> modernize my .NET application for Azure

Migrar de SQL Server local para 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 da entrada/saída de arquivos para o 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

Rearquitectura do aplicativo

copilot --agent=github-copilot-modernization:modernize
copilot> rearchitect my monolithic application into microservices

Modernização completa

copilot --agent=github-copilot-modernization:modernize
copilot> modernize my application

Resolução de problemas

Plug-in 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

Falha na avaliação: nenhum aplicativo encontrado

  • Verifique se a raiz do seu projeto contém um arquivo .csproj ou .sln.
  • Verifique se você está no diretório correto antes de iniciar Copilot CLI.

Problemas de servidor MCP

O plug-in usa o servidor MCP definido em sua configuração. Se você encontrar problemas, reinstale o plug-in para redefinir a configuração do MCP.

Fornecer comentários

Compartilhe comentários sobre GitHub Copilot CLI usando o formulário de comentários da CLI GitHub Copilot.

Referência