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.
Questo articolo offre una panoramica del modo in cui gli sviluppatori Java possono modernizzare le applicazioni usando il plug-in GitHub Copilot modernizzazione in Copilot cli. Usando questo approccio, gli sviluppatori possono modernizzare le applicazioni ovunque codiceno. Il plug-in offre un'esperienza end-to-end senza problemi, dall'aggiornamento e dalla migrazione alla distribuzione, consentendo ai team di accelerare la trasformazione, aumentare la produttività e spostare in modo sicuro le applicazioni in piattaforme moderne.
Annotazioni
GitHub Copilot CLI è disponibile con i piani GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business e GitHub Copilot Enterprise. Se si riceve il Copilot da un'organizzazione, il criterio CLI di Copilot deve essere abilitato nelle impostazioni dell'organizzazione.
Usando Copilot interfaccia della riga di comando per la modernizzazione, è possibile eseguire attività di modernizzazione direttamente dal terminale, senza dover passare a un IDE. Questo approccio supporta sia flussi di lavoro interattivi a controllo umano, sia flussi di lavoro batch.
Cosa puoi fare
| Capability | Description |
|---|---|
| Aggiornamento Java | Aggiornare Java versione (8 → 11 → 17 → 21 → 25), eseguire la migrazione di Spring Boot 2.x a 3.x, javax a jakarta e API deprecate |
| migrazione di Azure | Valutare ed eseguire la migrazione di applicazioni Java ai servizi di Azure (bus di servizio di Azure, Azure SQL, Redis, Azure Key Vault, Application Insights, Identità gestita) |
| CVE e correzione delle vulnerabilità | Analizzare e correggere le vulnerabilità CVE nelle dipendenze Maven, tra cui Log4j, Spring, Jackson e analisi delle dipendenze OWASP |
| Riprogettazione dell'applicazione | Riscritture strutturali, ad esempio la scomposizione da monolith a microservizi, la modernizzazione dell'interfaccia utente legacy e l'estrazione di moduli |
| Distribuzione in Azure | Distribuire applicazioni Java aggiornate o migrate direttamente in Azure |
Prerequisiti
- GitHub Copilot cli.
- Sottoscrizione GitHub Copilot. Per altre informazioni, vedere Copilot plans.
- Node.js versione 22 o successiva.
Annotazioni
Un account Azure è necessario solo per la distribuzione di risorse in Azure e non è necessario quando si usa GitHub Copilot modernizzazione per apportare modifiche al codice.
Installare il plug-in
Aggiungere 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@github-copilot-modernizationnell'elenco.
Suggerimento
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 Java e avvia Copilot CLI con l'agente per la modernizzazione:
cd /path/to/your/java-app
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 modernize dall'elenco.
Importante
È necessario selezionare l'agente github-copilot-modernization:modernize prima di eseguire richieste di modernizzazione. Se non si seleziona l'agente, Copilot CLI usa l'agente predefinito, che non può sfruttare l'orchestrazione multi-agente completa e le funzionalità specializzate di migrazione fornite dal plugin.
Esegui un prompt di modernizzazione
Quando l'agente è attivo, descrivere ciò che si vuole nel linguaggio naturale:
modernize my application
Oppure essere più specifici:
upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
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. L'agente di orchestrazione gestisce il routing in base alla richiesta.
Fase 1: Valutazione
- Individua applicazioni Java nel percorso specificato.
- Analizza dipendenze, framework e la versione di Java.
- Identifica opportunità e rischi per la modernizzazione.
- Salva i risultati in
.github/modernize/assessment/.
Fase 2: Pianificazione
- Carica i risultati della valutazione.
- 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 l'aggiornamento a Java 21" | 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 |
Scenari comuni
Aggiornare l'applicazione Java
Per aggiornare l'applicazione Java a una versione di runtime o framework più recente, usare l'esempio seguente:
copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2
L'attività di modernizzazione viene quindi eseguita, inclusa la generazione del piano di aggiornamento, l'esecuzione di correzioni del codice, la compilazione del progetto e il controllo delle vulnerabilità, come illustrato nello screenshot seguente:
Il progetto viene aggiornato correttamente a JDK 21 e Spring Boot 3.2 e viene visualizzato un riepilogo dell'aggiornamento.
Eseguire la migrazione dell'applicazione Java a Azure
Per eseguire la migrazione dell'applicazione Java a Azure, descrivere lo scenario di migrazione, come illustrato nell'esempio seguente. Per altre informazioni sulle attività di migrazione predefinite, vedere Attività predefinite per GitHub Copilot modernizzazione per sviluppatori Java.
copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage
Con questa richiesta, l'attività di migrazione viene eseguita e mostra lo stato di avanzamento nell'interfaccia della riga di comando di Copilot.
Quando il progetto viene migrato correttamente a Microsoft Archiviazione BLOB di Azure, viene visualizzato un riepilogo della migrazione.
Distribuire l'applicazione Java in Azure
Dopo l'aggiornamento o la migrazione dell'applicazione, è possibile distribuirla direttamente dall'interfaccia della riga di comando di Copilot usando l'esempio seguente:
copilot --agent=github-copilot-modernization:modernize
Scan my project and help me plan how to containerize my application using the #appmod-get-containerization-plan tool. Execute the plan. The end goal is to have Dockerfiles that are able to be built.
Usando questo prompt, l'attività di distribuzione viene eseguita e mostra lo stato di avanzamento nell'interfaccia della riga di comando di Copilot.
Quando il progetto viene distribuito correttamente, viene visualizzato un riepilogo della distribuzione.
Troubleshooting
Plug-in non trovato
# Verify marketplace is added
copilot plugin marketplace list
# Re-add the 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 Java trovata
- Verifica che
pom.xmlobuild.gradlesia presente nella directory radice del progetto. - 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. Se si verificano problemi, provare a reinstallare il plug-in per reimpostare la configurazione MCP.
Inviare commenti
Se hai commenti sul plug-in GitHub Copilot modernization, apri una issue nel repository github-copilot-appmod.