Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Informazioni generali
Scopri come eseguire la migrazione delle applicazioni .NET in Azure usando il plug-in GitHub Copilot modernization in Copilot CLI.
Il plug-in fornisce un flusso di lavoro autonomo e multi-agente che valuta l'applicazione .NET, genera un piano di modernizzazione eseguibile ed esegue la migrazione, tutto dal terminale. Supporta Azure migrazioni, correzioni di vulnerabilità CVE e riprogettazione dell'applicazione.
Annotazioni
L'interfaccia della riga di comando di GitHub Copilot è disponibile nei piani GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business e GitHub Copilot Enterprise. Se si riceve Copilot tramite un'organizzazione, un amministratore deve abilitare i criteri dell'interfaccia della riga di comando di Copilot nelle impostazioni dell'organizzazione.
Cosa puoi fare
| Capability | Description |
|---|---|
| migrazione di .NET in Azure | Valutare ed eseguire la migrazione di applicazioni .NET ai servizi di Azure (bus di servizio, Azure SQL, Redis, Key Vault, Application Insights, Identità gestita), inclusi i controlli di sicurezza e le migrazioni da ASP.NET a Azure |
| CVE e correzione delle vulnerabilità | Analizzare e correggere le vulnerabilità CVE nelle dipendenze NuGet |
| Riprogettazione dell'applicazione | Riscritture strutturali, ad esempio la scomposizione da monolith a microservizi, la modernizzazione dell'interfaccia utente legacy e l'estrazione di moduli |
Prerequisiti
- Installare la CLI di Copilot
- Sottoscrizione di GitHub Copilot. Vedere Piani di Copilot.
Installare il plug-in
In un terminale eseguire
copilotper avviare l'interfaccia della riga di comando di Copilot.copilotAggiungere il marketplace e installare il plug-in:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationVerificare che il plug-in sia installato elencando i plug-in installati:
/plugin listDovresti vedere
github-copilot-modernization:modernizenell'elenco.
Aggiornare il plug-in
Per aggiornare il plug-in quando è disponibile una nuova versione, eseguire:
copilot plugin update github-copilot-modernization@github-copilot-modernization
Avviare un'attività di modernizzazione
Opzione 1: Iniziare direttamente con l'agente
Passa alla cartella del progetto .NET e avvia la CLI di Copilot con l'agente di modernizzazione:
cd /path/to/your/dotnet-project
copilot --agent=github-copilot-modernization:modernize
Opzione 2: Selezionare l'agente dall'interfaccia della riga di comando di Copilot
Se si è già in una sessione dell'interfaccia della riga di comando di Copilot, usare il comando /agent per passare all'agente di modernizzazione:
/agent
Selezionare github-copilot-modernization:modernize dall'elenco.
Importante
È necessario selezionare l'agente github-copilot-modernization:modernize prima di eseguire eventuali richieste di modernizzazione. Senza questo agente selezionato, la CLI di Copilot usa l'agente predefinito, che non può sfruttare la piena orchestrazione multi-agente, il supporto per i playbook aziendali e le funzionalità di migrazione specializzate fornite dal plugin.
Esegui un prompt di modernizzazione
Quando l'agente è attivo, descrivere ciò che si vuole nel linguaggio naturale:
copilot> modernize my application
Oppure essere più specifici:
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
Per l'esecuzione automatica, usare il --allow-all flag :
copilot --agent=github-copilot-modernization:modernize --allow-all
Funzionamento del flusso di lavoro
Il plug-in usa un flusso di lavoro in tre fasi che viene eseguito automaticamente. Non è necessario richiamare manualmente ogni fase, ovvero l'agente di orchestrazione gestisce il routing in base alla richiesta.
Fase 1: Valutazione
- Rileva la struttura del progetto .NET e usa gli strumenti di analisi adeguati.
- Analizza dipendenze, framework e versioni.
- Identifica opportunità e rischi per la modernizzazione.
- Salva i risultati in
.github/modernize/assessment/.
Fase 2: Pianificazione
- Carica i risultati della valutazione e i vincoli dei playbook aziendali (se presenti).
- Genera un piano attività eseguibile.
- Salva il piano su
.github/modernize/<app>/plan.mdetasks.json.
Fase 3: Esecuzione
- Indirizza le attività agli agenti executor specializzati in base al tipo di attività.
- Ogni executor esegue una query su una Knowledge Base per i modelli di migrazione.
- Monitora l'avanzamento con nuovi tentativi automatici in caso di errore.
- Crea commit dettagliati per ciascuna attività per la revisione.
L'orchestratore supporta più punti d'ingresso a seconda dell'obiettivo:
| Flusso di lavoro | Quando viene attivato | Che succede |
|---|---|---|
| Intento generale | "modernizzare l'applicazione" | Valutazione completa → pianificare → eseguire la pipeline |
| Attività specifica | "eseguire la migrazione da SQL Server a Azure SQL" | Ignora la valutazione, passa direttamente al piano → eseguire |
| Eseguire un piano esistente | "eseguire il piano" | Ignora la valutazione e la pianificazione, esegue un piano esistente |
| Headless | Esecuzione non assistita con --allow-all |
Uguale a una finalità generale senza richieste dell'utente |
Definire i criteri di modernizzazione dell'organizzazione
Le organizzazioni possono incorporare la finalità di modernizzazione, ovvero architetture di destinazione, standard di aggiornamento e criteri di conformità, direttamente nel flusso di lavoro tramite un playbook. Questo approccio garantisce che ogni piano generato sia allineato agli standard aziendali senza una revisione manuale di ogni decisione.
Configura un playbook
Inserire i file Markdown nella .github/modernize/playbook/ directory del progetto. La fase di pianificazione legge automaticamente tutti i .md file in questa cartella e li unisce ai risultati della valutazione prima di generare il piano attività.
Importante
I vincoli del playbook sostituiscono le raccomandazioni di valutazione. Se il playbook specifica "usare bus di servizio di Azure per la messaggistica", tale scelta ha la precedenza indipendentemente da ciò che viene individuata dalla valutazione.
Cosa è possibile definire in un playbook
| Tipo di criterio | Examples |
|---|---|
| Architetture di destinazione | Servizi di calcolo (servizio app, servizio Azure Kubernetes, app contenitore), opzioni di database (Azure SQL, Cosmos DB), piattaforme di messaggistica (bus di servizio, Hub eventi) |
| Aggiornare gli standard | Versione di .NET di destinazione, percorsi di migrazione del framework |
| Guardrail | Tecnologie proibite, requisiti di sicurezza, vincoli di conformità, standard di autenticazione |
| Standard di codifica | Convenzioni di denominazione, modelli di autenticazione, framework di registrazione |
| Strategia di migrazione | Confini dell’ambito, preferenze di classificazione 6R (rehost vs. refactor vs. rearchitect), strategia di implementazione per fasi |
Playbook di esempio
Creare un file in .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
Non è necessaria alcuna denominazione o struttura fissa. L'agente di orchestrazione deduce lo scopo di ogni file dal relativo contenuto.
Impostazioni predefinite integrate
Senza un playbook, il plugin applica impostazioni predefinite ragionevoli:
- Azure: identità gestita per l'autenticazione; servizi di database gestiti per i dati relazionali.
- Messaging: → bus di servizio di Azure di messaggistica locale.
- Infrastructure: Bicep come impostazione predefinita.
Scenari comuni
migrazione Azure
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my .NET application for Azure
Eseguire la migrazione da SQL Server locale a Azure SQL
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local SQL Server to Azure SQL Database with managed identity
Eseguire la migrazione dall'I/O del file a Archiviazione BLOB di Azure
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local file I/O to Azure Blob Storage
CVE e correzione della sicurezza
copilot --agent=github-copilot-modernization:modernize
copilot> fix CVE vulnerabilities in my project
Riprogettazione dell'applicazione
copilot --agent=github-copilot-modernization:modernize
copilot> rearchitect my monolithic application into microservices
Modernizzazione completa
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my application
Troubleshooting
Plug-in non trovato
# 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
Valutazione non riuscita: nessuna applicazione trovata
- Verifica che la directory radice del progetto contenga un file
.csprojo un file.sln. - Assicurati di essere nella directory corretta prima di avviare Copilot CLI.
Problemi del server MCP
Il plug-in usa il server MCP definito nella configurazione. In caso di problemi, reinstallare il plug-in per reimpostare la configurazione MCP.
Inviare commenti
Condividi il tuo feedback su GitHub Copilot CLI tramite il modulo di feedback di GitHub Copilot CLI.
Reference
- Uso della CLI di GitHub Copilot
- plug-in di GitHub Copilot per la modernizzazione