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.
L'agente di modernizzazione copilot di GitHub offre modalità interattive e non interattive per la modernizzazione delle applicazioni.
Modalità di comando
Modalità interattiva
Avviare l'interfaccia utente testo interattiva (TUI) per la modernizzazione guidata:
modernize
La modalità interattiva offre:
- Spostamento basato su menu tramite il flusso di lavoro di modernizzazione.
- Indicatori di piano visivo e di avanzamento.
- Richieste guidate per le opzioni di configurazione.
- Interfaccia di selezione multi-repository.
Modalità non interattiva
Eseguire comandi specifici direttamente per l'automazione e lo scripting:
modernize <command> [options]
Usare la modalità non interattiva quando:
- Integrazione con pipeline CI/CD.
- Automazione delle operazioni batch.
- Creare script per i flussi di lavoro di modernizzazione.
- Esecuzione in ambienti headless.
Opzioni globali
Tutti i comandi supportano queste opzioni globali:
| Opzione | Descrizione |
|---|---|
--help, -h |
Visualizza le informazioni della Guida. |
--no-tty |
Disabilita le richieste interattive (modalità headless). |
Comandi
Valutare
Esegue una valutazione e genera un report di analisi completo.
Sintassi
modernize assess [options]
Options
| Opzione | Descrizione | Impostazione predefinita |
|---|---|---|
--source <path> |
Percorso del progetto di origine (percorso locale relativo o assoluto). |
. (directory corrente) |
--output-path <path> |
Percorso di output personalizzato per i risultati della valutazione. | .github/modernize/assessment/ |
--issue-url <url> |
URL del problema di GitHub da aggiornare con il riepilogo della valutazione. | Nessuno |
--multi-repo |
Abilita la valutazione multi-repository. Analizza le sottodirectory di primo livello per più repository. | Disattivato |
--model <model> |
Modello LLM da usare. | claude-sonnet-4.6 |
--delegate <delegate> |
Modalità di esecuzione: local (computer) o cloud (agente di codifica cloud). |
local |
--wait |
Attende il completamento e la generazione dei risultati delle attività delegate (valido solo con --delegate cloud). |
Disattivato |
--force |
Forza la delega di riavvio, ignorando le attività in corso (valido solo con --delegate cloud). |
Disattivato |
Examples
Valutazione di base della directory corrente:
modernize assess
Valutare con la posizione di output personalizzata:
modernize assess --output-path ./reports/assessment
Valutare e aggiornare il problema di GitHub con i risultati:
modernize assess --issue-url https://github.com/org/repo/issues/123
Valutare una directory di progetto specifica:
modernize assess --source /path/to/project
Valutare più repository nella directory corrente:
modernize assess --multi-repo
Risultato
La valutazione genera:
- File di report: analisi dettagliata in formati JSON, MD e HTML.
- Riepilogo: risultati chiave e raccomandazioni.
-
Aggiornare i problemi (se si specifica
--issue-url): commento sul problema di GitHub con riepilogo.
plan create
Crea un piano di modernizzazione basato su una richiesta di linguaggio naturale che descrive gli obiettivi di modernizzazione.
Sintassi
modernize plan create <prompt> [options]
Arguments
| Argomentazione | Descrizione |
|---|---|
<prompt> |
Descrizione in linguaggio naturale degli obiettivi di modernizzazione (obbligatorio). |
Options
| Opzione | Descrizione | Impostazione predefinita |
|---|---|---|
--source <path> |
Percorso del codice sorgente dell'applicazione. | Directory corrente |
--plan-name <name> |
Nome del piano di modernizzazione. | modernization-plan |
--language <lang> |
Linguaggio di programmazione (java, dotneto python). |
Rilevato automaticamente |
--overwrite |
Sovrascrive un piano esistente con lo stesso nome. | Disattivato |
--model <model> |
Modello LLM da usare. | claude-sonnet-4.6 |
Examples
Generare un piano di migrazione:
modernize plan create "migrate from oracle to azure postgresql"
Generare un piano di aggiornamento con il nome personalizzato:
modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade
Generare un piano di distribuzione:
modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca
Esempio di opzioni complete:
modernize plan create "upgrade to .NET 8" \
--source /path/to/project \
--plan-name dotnet8-upgrade \
--language dotnet \
--issue-url https://github.com/org/repo/issues/456
Esempi di prompt
Aggiornamenti del framework:
upgrade to spring boot 3upgrade to .NET 10upgrade to JDK 21migrate from spring boot 2 to spring boot 3
Migrazioni di database:
migrate from oracle to azure postgresqlmigrate from SQL Server to azure cosmos dbswitch from MySQL to azure database for mysql
Migrazioni cloud:
migrate from on-premises to azurecontainerize and deploy to azure container appsmigrate from rabbitmq to azure service bus
Spiegamento:
deploy to azure app servicedeploy to azure kubernetes serviceset up CI/CD pipeline for azure
Risultato
Il comando genera:
File di piano (
.github/modernize/{plan-name}/plan.md): strategia di modernizzazione dettagliata, tra cui:- Contesto e obiettivi
- Approccio e metodologia
- Chiarimenti
Elenco attività (
.github/modernize/{plan-name}/tasks.json): suddivisione strutturata delle attività eseguibili con:- Descrizioni delle attività
- Competenze da usare
- Criteri di esito positivo
Suggerimento
È possibile modificare manualmente sia che plan.mdtasks.json dopo la generazione per personalizzare l'approccio prima dell'esecuzione.
pianificare l'esecuzione
Esegue un piano di modernizzazione creato da modernize plan create.
Sintassi
modernize plan execute [prompt] [options]
Arguments
| Argomentazione | Descrizione |
|---|---|
[prompt] |
Istruzioni facoltative del linguaggio naturale per l'esecuzione, ad esempio "skip test". |
Options
| Opzione | Descrizione | Impostazione predefinita |
|---|---|---|
--source <path> |
Percorso del codice sorgente dell'applicazione. | Directory corrente |
--plan-name <name> |
Nome del piano da eseguire. | modernization-plan |
--language <lang> |
Linguaggio di programmazione (java o dotnet). |
Rilevato automaticamente |
--model <model> |
Modello LLM da usare. | claude-sonnet-4.6 |
--delegate <delegate> |
Modalità di esecuzione: local (computer) o cloud (agente di codifica cloud). |
local |
--force |
Forza l'esecuzione anche quando è in corso un processo CCA. | Disattivato |
Examples
Eseguire il piano più recente in modo interattivo:
modernize plan execute
Eseguire un piano specifico:
modernize plan execute --plan-name spring-boot-upgrade
Eseguire con istruzioni aggiuntive:
modernize plan execute "skip the test" --plan-name spring-boot-upgrade
Eseguire in modalità headless per CI/CD:
modernize plan execute --plan-name spring-boot-upgrade --no-tty
Comportamento di esecuzione
Durante l'esecuzione, l'agente:
Carica il piano: legge il piano e l'elenco di attività da
.github/modernization/{plan-name}/Esegue attività: elabora ogni attività nell'elenco di attività in sequenza:
- Applica trasformazioni del codice.
- Convalida le compilazioni dopo le modifiche.
- Esegue l'analisi delle cve.
- Esegue il commit delle modifiche con messaggi descrittivi.
Genera riepilogo: fornisce un report di tutte le modifiche e i risultati.
Risultato
- Cronologia commit: commit dettagliati per ogni attività eseguita.
- Report riepilogo: panoramica delle modifiche, delle operazioni riuscite e degli eventuali problemi riscontrati.
- Convalida della compilazione: conferma che l'applicazione viene compilata correttamente.
- Report CVE: vulnerabilità di sicurezza identificate e risolte.
aggiornamento di a
Esegue un flusso di lavoro di aggiornamento end-to-end, ovvero piano ed esecuzione, in un singolo comando.
Sintassi
modernize upgrade [prompt] [options]
Arguments
| Argomentazione | Descrizione |
|---|---|
[prompt] |
Versione di destinazione, ad esempio Java 17, Spring Boot 3.2, .NET 10. Il valore predefinito è LTS più recente. |
Options
| Opzione | Descrizione | Impostazione predefinita |
|---|---|---|
--source <source> |
Percorso del progetto di origine (percorso locale relativo o assoluto). |
. (directory corrente) |
--delegate <delegate> |
Modalità di esecuzione: local (computer) o cloud (agente di codifica cloud). |
local |
--model <model> |
Modello LLM da usare. | claude-sonnet-4.6 |
Examples
Eseguire upgrade nella directory corrente:
modernize upgrade "Java 17"
modernize upgrade ".NET 10"
Esecuzione upgrade in un progetto specifico:
modernize upgrade "Java 17" --source /path/to/project
Eseguire upgrade usando l'agente di codifica cloud:
modernize upgrade "Java 17" --delegate cloud
help
Fornisce comandi della Guida e delle informazioni.
Sintassi
modernize help [command]
Comandi
| Comando | Descrizione |
|---|---|
models |
Elenca i modelli LLM disponibili e i relativi moltiplicatori. |
Examples
Elencare i modelli disponibili:
modernize help models
Configurare l'interfaccia della riga di comando
Usando l'agente di modernizzazione, è possibile personalizzare il comportamento dell'applicazione tramite file JSON e variabili di ambiente.
Variabili di ambiente
Impostare le variabili di ambiente per eseguire l'override di tutti gli altri ambiti di configurazione:
| Variabile | Descrizione | Impostazione predefinita |
|---|---|---|
MODERNIZE_LOG_LEVEL |
Livello di registrazione (none, error, warninginfo, debug, , ) all |
info |
MODERNIZE_MODEL |
Modello LLM da usare. | claude-sonnet-4.6 |
MODERNIZE_COLLECT_TELEMETRY |
Abilitare o disabilitare la raccolta di dati di telemetria. | true |
Esempio:
export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess
Configurazioni degli utenti
Archiviare le preferenze specifiche dell'utente nelle ~/.modernize/config.json impostazioni a livello di repository o in .github/modernize/config.json.
{
"model": "claude-sonnet-4.6",
"log_level": "info",
"trusted_folders": [
"/path/to/trusted/project",
]
}
La trusted_folders proprietà specifica le cartelle attendibili per l'uso di LLM in modalità interattiva.
Annotazioni
Le variabili di ambiente hanno la precedenza più alta, seguita dalla configurazione utente e quindi dalla configurazione del repository. Usare le variabili di ambiente per le sostituzioni CI/CD e la configurazione utente per le preferenze personali.
Configurazione multi-repository
Creare un .github/modernize/repos.json file per abilitare la modalità multi-repository:
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
]
Al termine del repos.json file, usare i comandi seguenti per operare in tutti i repository configurati:
Valutare tutti i repository in locale:
modernize assess
Valutare tutti i repository usando l'agente di codifica cloud:
modernize assess --delegate cloud
Aggiornare tutti i repository usando l'agente di codifica cloud:
modernize upgrade --delegate cloud