Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Información general
Aprenda a migrar aplicaciones de .NET a Azure mediante el complemento GitHub Copilot modernización en Copilot CLI.
El complemento proporciona un flujo de trabajo autónomo y multiagente que evalúa la aplicación .NET, genera un plan de modernización ejecutable y lleva a cabo la migración, todo desde el terminal. Admite migraciones Azure, correcciones de vulnerabilidades CVE y rediseño de aplicaciones.
Nota:
La CLI de Copilot de GitHub está disponible en los planes GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business y GitHub Copilot Enterprise. Si recibe Copilot a través de una organización, un administrador debe habilitar la directiva de la CLI de Copilot en la configuración de la organización.
Qué puede hacer
| Capacidad | Descripción |
|---|---|
| .NET migración a Azure | Evaluar y migrar aplicaciones de .NET a servicios de Azure (Service Bus, Azure SQL, Redis, Key Vault, Application Insights, Managed Identity), incluidas las auditorías de seguridad de NuGet y las migraciones de ASP.NET a Azure |
| CVE y corrección de vulnerabilidades | Analiza y corrige las vulnerabilidades CVE en las dependencias de NuGet |
| Rearquitectura de aplicaciones | Reescrituras estructurales, como la descomposición de un monolito en microservicios, la modernización de interfaces de usuario heredadas y la extracción de módulos |
Prerrequisitos
- Instale la CLI de Copilot.
- Una suscripción de GitHub Copilot. Consulta los planes de Copilot.
Instalación del complemento
En un terminal, ejecute
copilotpara iniciar Copilot CLI.copilotAgregue Marketplace e instale el complemento:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationCompruebe que el complemento está instalado enumerando los complementos instalados:
/plugin listDebería ver
github-copilot-modernization:modernizeen la lista.
Actualización del complemento
Para actualizar el complemento cuando haya disponible una nueva versión, ejecute:
copilot plugin update github-copilot-modernization@github-copilot-modernization
Iniciar una tarea de modernización
Opción 1: Empezar directamente con el agente
Vaya a la carpeta del proyecto de .NET e inicie Copilot CLI con el agente de modernización:
cd /path/to/your/dotnet-project
copilot --agent=github-copilot-modernization:modernize
Opción 2: Selección del agente desde dentro de la CLI de Copilot
Si ya está en una sesión de la CLI de Copilot, use el comando /agent para cambiar al agente de modernización:
/agent
Seleccione github-copilot-modernization:modernize en la lista.
Importante
Debe seleccionar el agente github-copilot-modernization:modernize antes de ejecutar las indicaciones de modernización. Sin este agente seleccionado, Copilot CLI usa el agente predeterminado, que no puede usar la orquestación multiagente completa, la compatibilidad con cuadernos de estrategias empresariales y las funcionalidades de migración especializadas que proporciona el complemento.
Ejecutar un prompt de modernización
Una vez que el agente esté activo, describa lo que desea en lenguaje natural:
copilot> modernize my application
O bien, ser más 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 ejecutar de forma desatendida, use el indicador --allow-all:
copilot --agent=github-copilot-modernization:modernize --allow-all
Funcionamiento del flujo de trabajo
El complemento usa un flujo de trabajo de tres fases que se ejecuta automáticamente. No es necesario invocar manualmente cada fase: el orquestador controla el enrutamiento en función de la solicitud.
Fase 1: Evaluación
- Detecta la estructura del proyecto .NET y usa las herramientas de análisis adecuadas.
- Analiza las dependencias, los marcos y las versiones.
- Identifica las oportunidades y los riesgos de modernización.
- Guarda los resultados en
.github/modernize/assessment/.
Fase 2: Planificación
- Carga los resultados de la evaluación y las restricciones del cuaderno de estrategias de empresa (si están presentes).
- Genera un plan de tareas ejecutable.
- Guarda el plan en
.github/modernize/<app>/plan.mdytasks.json.
Fase 3: Ejecución
- Enruta las tareas a agentes ejecutores especializados en función del tipo de tarea.
- Cada ejecutor consulta una base de conocimiento para patrones de migración.
- Supervisa el progreso con reintento automático en caso de error.
- Crea confirmaciones detalladas por tarea para su revisión.
El orquestador admite varios puntos de entrada en función de la intención:
| Flujo de trabajo | Cuando se activa | ¿Qué ocurre? |
|---|---|---|
| Intención amplia | "modernizar mi aplicación" | Evaluación completa → plan → ejecución de canalización |
| Tarea específica | "migrar de SQL Server a Azure SQL" | Omite la evaluación, va directamente al plan → ejecutar |
| Ejecución del plan existente | "ejecutar el plan" | Omite la evaluación y la planificación, ejecuta un plan existente. |
| Headless | Ejecución desatendida con --allow-all |
La misma intención general sin indicaciones del usuario |
Definición de directivas de modernización empresarial
Las organizaciones pueden insertar su intención de modernización (arquitecturas de destino, estándares de actualización y directivas de cumplimiento) directamente en el flujo de trabajo a través de un cuaderno de estrategias. Este enfoque garantiza que todos los planes generados se alinean con los estándares empresariales sin revisión manual de cada decisión.
Configurar una guía de estrategias
Coloque los archivos Markdown en el .github/modernize/playbook/ directorio del proyecto. La fase de planeación lee automáticamente todos los .md archivos de esta carpeta y los combina con los resultados de la evaluación antes de generar el plan de tareas.
Importante
Las restricciones de cuaderno de estrategias invalidan las recomendaciones de evaluación. Si el cuaderno de estrategias especifica "usar Azure Service Bus para la mensajería", esa opción tiene prioridad independientemente de lo que detecte la evaluación.
Lo que puede definir en un cuaderno de estrategias
| Tipo de directiva | Examples |
|---|---|
| Arquitecturas de destino | Servicios de proceso (App Service, AKS, Container Apps), opciones de base de datos (Azure SQL, Cosmos DB), plataformas de mensajería (Service Bus, Event Hubs) |
| Estándares de actualización | Versión de .NET de destino, rutas de migración del marco |
| Barreras de protección | Tecnologías prohibidas, requisitos de seguridad, restricciones de cumplimiento, estándares de autenticación |
| Estándares de codificación | Convenciones de nomenclatura, patrones de autenticación, marcos de registro |
| Estrategia de migración | Límites del alcance, preferencias de clasificación según las 6R (realojamiento frente a refactorización frente a rearquitectura), estrategia de implantación por fases |
Guía práctica de ejemplo
Cree un archivo en .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
No se requiere ninguna nomenclatura o estructura fija: el orquestador deduce el propósito de cada archivo a partir de su contenido.
Valores predeterminados integrados
Sin un cuaderno de estrategias, el complemento aplica valores predeterminados razonables:
- Azure: identidad administrada para la autenticación; servicios de base de datos administrados para datos relacionales.
- Mensajería: mensajería local → Azure Service Bus.
- Infrastructure: Bicep de forma predeterminada.
Escenarios comunes
Migración de Azure
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my .NET application for Azure
Migración de SQL Server local a Azure SQL
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local SQL Server to Azure SQL Database with managed identity
Migrar de la entrada/salida de archivos al almacenamiento de blobs de Azure
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local file I/O to Azure Blob Storage
CVE y corrección de seguridad
copilot --agent=github-copilot-modernization:modernize
copilot> fix CVE vulnerabilities in my project
Rearquitectura de aplicaciones
copilot --agent=github-copilot-modernization:modernize
copilot> rearchitect my monolithic application into microservices
Modernización completa
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my application
Solución de problemas
No se encontró el complemento
# 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
Error en la evaluación: no se encontró ninguna aplicación
- Compruebe que la raíz del proyecto contiene un
.csprojarchivo o.sln. - Asegúrese de que está en el directorio correcto antes de iniciar Copilot CLI.
Problemas del servidor MCP
El complemento usa el servidor MCP definido en su configuración. Si tiene problemas, vuelva a instalar el complemento para restablecer la configuración de MCP.
Proporcionar comentarios
Comparta comentarios sobre GitHub Copilot CLI mediante el formulario de comentarios de la CLI GitHub Copilot.
Referencia
- Uso de la CLI de Copilot de GitHub
- complemento de modernización GitHub Copilot