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.
La valutazione batch consente di analizzare più applicazioni contemporaneamente, offrendo una panoramica completa del panorama della modernizzazione nelle applicazioni. Questo articolo illustra il processo di valutazione efficiente di più repository.
La valutazione batch è particolarmente utile per la pianificazione della migrazione perché consente di valutare in modo efficiente la conformità e i requisiti di varie applicazioni contemporaneamente. Usando la valutazione batch, è possibile valutare contemporaneamente repository diversi e ottenere report di valutazione dettagliati per ogni applicazione. Produce due tipi di report per supportare la pianificazione della migrazione:
- Report per app: fornisce informazioni dettagliate su tutti i problemi di modernizzazione identificati a livello di singolo repository.
- Report aggregato: presenta una prospettiva complessiva di tutte le applicazioni valutate, che offre informazioni dettagliate di riepilogo, raccomandazioni su servizi di Azure, piattaforme di destinazione e percorsi di aggiornamento. Inoltre, il report aggregato include collegamenti per facilitare l'accesso a ogni report dell'app.
La valutazione batch offre i vantaggi seguenti:
Visibilità tra applicazioni:
- Report aggregati: ottenere una visualizzazione completa tra le applicazioni.
- Analisi tra più repository: Identificare modelli e dipendenze comuni tra applicazioni.
- Informazioni dettagliate sulla definizione delle priorità: comprendere quali applicazioni necessitano di attenzione immediata.
Scalabilità ed efficienza:
- Elaborazione parallela: usare agenti di codifica cloud per elaborare più repository contemporaneamente.
- Flussi di lavoro automatizzati: integrazione con pipeline CI/CD per la valutazione pianificata.
- Risparmio di tempo: ridurre il tempo totale di valutazione da settimane a ore.
Prerequisiti
- Modernizzare la CLI.
- Accesso a tutti i repository da valutare.
- L'autenticazione di GitHub è configurata (
gh auth login).
Configurare gli archivi
Per abilitare la valutazione batch, creare un .github/modernize/repos.json file nella directory di lavoro in cui sono elencati tutti i repository da valutare.
Assicurarsi di avere le autorizzazioni appropriate per i repository o crearne una copia tramite fork.
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
},
{
"name": "eShopOnWeb",
"url": "https://github.com/dotnet-architecture/eShopOnWeb.git"
}
]
Configurazione del repository
Ogni voce richiede:
- name: nome descrittivo per il repository (usato nei report e nei dashboard).
- url: URL Git clone in formato HTTPS.
Suggerimento
È possibile includere repository di organizzazioni diverse e usare metodi di autenticazione diversi purché si abbia accesso.
Percorso del file
È necessario inserire il repos.json file in .github/modernize/repos.json.
L'agente di modernizzazione rileva automaticamente questo file quando esegue operazioni batch.
Eseguire la valutazione batch
Sono disponibili due modalità di esecuzione:
- Esecuzione locale: l'agente di modernizzazione elabora i repository uno dopo l'altro nel computer locale. Questa modalità funziona meglio per un set più piccolo di applicazioni o per i test iniziali.
- Delega dell'agente di codifica cloud: l'agente di modernizzazione invia attività agli agenti di codifica cloud GitHub per l'elaborazione parallela nel cloud. Questa modalità è più veloce per scenari multi-repo.
Suggerimento
Usando la delega dell'agente di codifica cloud, si abilita l'esecuzione parallela in tutti i repository. Questo approccio riduce significativamente il tempo totale di valutazione per i portafogli di grandi dimensioni.
Modalità interattiva (valutazione locale)
Eseguire l'agente di modernizzazione:
modernizeL'agente rileva il
repos.jsonfile e visualizza l'elenco dei repository:Selezionare i repository da valutare e premere
Enterper confermare la selezione.-
Premi
Ctrl+Aper selezionare tutti i repository. -
Usare i tasti di direzione per spostarsi e premere
Spaceper selezionare singoli repository.
-
Premi
Selezionare 1. Valutare l'applicazione dal menu principale.
Per eseguire la valutazione, scegliere di valutare localmente o delegare gli agenti di codifica cloud. Selezionare 1. Valutare localmente.
L'agente opera automaticamente:
Al termine della valutazione, l'agente apre automaticamente il report aggregato.
Modalità interattiva (delega agli agenti di codifica cloud)
Prima di tutto, configurare gli agenti di codifica cloud in ogni repository di applicazioni. Per configurare i Cloud Coding Agents, effettuare un fork dei repository di esempio.
Configurazione per le applicazioni .NET
Configurare per l'esecuzione in Windows per applicazioni .NET Framework
Per impostazione predefinita, l'agente di codifica Copilot viene eseguito in un ambiente Ubuntu Linux. Per le applicazioni .NET Framework, è necessario un ambiente Windows. Per abilitarla, configurare .github/workflows/copilot-setup-steps.yaml nel main ramo del repository dell'applicazione, come illustrato nell'esempio seguente:
# Windows-based Copilot Setup Steps for .NET tasks
# Note: Windows runners have firewall limitations that may affect some network operations
# Use this workflow for .NET projects that require Windows-specific tooling
name: "Copilot Setup Step (Windows)"
on:
workflow_dispatch:
jobs:
copilot-setup-steps:
runs-on: windows-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v5
Altre informazioni sono disponibili in: Personalizzazione dell'ambiente di sviluppo di Copilot con i passaggi di configurazione di Copilot
Disabilitare il firewall
Disabilitare il firewall integrato dell'agente di codifica Copilot nelle impostazioni del repository, come illustrato nell'immagine seguente:
Configurazione per applicazioni Java
Configurare gitHub Copilot Modernization MCP Server nella sezione Cloud Coding Agent delle impostazioni del repository, come illustrato nell'esempio seguente:
{
"mcpServers": {
"app-modernization": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"-y",
"@microsoft/github-copilot-app-modernization-mcp-server"
]
}
}
}
Gradi
Eseguire l'agente di modernizzazione:
modernizeL'agente rileva il
repos.jsonfile e visualizza l'elenco dei repository:Selezionare i repository da valutare e premere
Enterper confermare la selezione.-
Premi
Ctrl+Aper selezionare tutti i repository. -
Usare i tasti di direzione per spostarsi e premere
Spaceper selezionare singoli repository.
-
Premi
Selezionare 1. Valutare le applicazioni dal menu principale.
Per eseguire la valutazione, selezionare 2. Delegare agli agenti di codifica cloud.
L'agente delega automaticamente le attività di valutazione per ogni repository agli agenti di codifica cloud e le esegue nel cloud in parallelo.
L'agente recupera quindi i risultati della valutazione delle singole app localmente e genera il report aggregato localmente.
Al termine della valutazione, l'agente apre automaticamente il report aggregato.
Modalità non interattiva (interfaccia della riga di comando)
È anche possibile usare la modalità non interattiva specificando direttamente gli argomenti di comando. Usare il comando modernize assess:
Valutare in locale:
modernize assess --multi-repo
Valutare delegando gli agenti di codifica cloud:
modernize assess --delegate cloud
Per altre informazioni, vedere Valutare - Comandi dell'interfaccia della riga di comando.
Informazioni sul report aggregato
Il report aggregato offre una visualizzazione completa delle applicazioni valutate nel modo seguente:
Dashboard
- Snapshot dell'integrità del portfolio: il numero totale di app, quante necessitano di aggiornamenti, e i conteggi aggregati di blocchi e problemi.
- Distribuzione della tecnologia: quali framework sono in uso e quante app le condividono.
- Distribuzione del lavoro: se la migrazione complessiva è una piccola o grande impresa.
Raccomandazioni
- Servizi di Azure: esegue il mapping delle dipendenze correnti agli equivalenti di Azure consigliati. Le dipendenze condivise tra le app vengono decise una sola volta, in modo da evitare la rielaborazione per app.
- Piattaforma di destinazione: guida nella scelta di hosting, ad esempio Container Apps rispetto ad Azure Kubernetes Service (AKS), e identifica opportunità di consolidamento.
- Percorso di aggiornamento: identifica le app che necessitano di aggiornamenti del framework come prerequisito, separando il lavoro di aggiornamento dal lavoro di migrazione.
- Onde di migrazione: sequenzia le app in base all'idoneità e al rischio in fasi. Questo approccio consente la vittoria anticipata, mentre le app più difficili vengono preparate in parallelo.
Matrice di valutazione delle applicazioni
- Panoramica rapida per ogni applicazione su aspetti del framework, piattaforma di destinazione, raccomandazione di aggiornamento, scomposizione dei problemi (obbligatorio, potenziale, facoltativo), ridimensionamento e altro ancora.
- Collegamenti a singoli report dell'app per il drill-down quando necessario.
Risoluzione dei problemi relativi all'analisi batch
Problemi comuni
Errori di accesso al repository:
- Verificare l'autenticazione di GitHub usando
gh auth status. - Assicurarsi di avere accesso a tutti i repository elencati in
repos.json.
Errori di clonazione:
- Verificare che gli URL del repository in
repos.jsonsiano corretti e accessibili. - Assicurarsi di disporre delle autorizzazioni di accesso appropriate per tutti i repository.
- Controllare la connettività di rete e le impostazioni VPN.
Errori di valutazione:
- Controllare se il repository contiene progetti Java o .NET validi.
- Verificare che i file di compilazione esistano, ad esempio
pom.xml,build.gradle,*.csprojo*.sln. - Esaminare i messaggi di errore nell'output della console.
Problemi di delega dell'agente di codifica cloud:
- Assicurarsi di avere le autorizzazioni appropriate per creare flussi di lavoro di GitHub Actions.
- Controllare le autorizzazioni e i limiti di quota di GitHub Actions per l'organizzazione.
- Per le app .NET Framework, assicurarsi che la configurazione di Windows Runner sia impostata correttamente.
- Controllare la configurazione del server MCP.
Passaggi successivi
Dopo aver completato la valutazione batch, è possibile:
Continuare il flusso di lavoro di modernizzazione:
- Eseguire l'aggiornamento batch tra repository : applicare aggiornamenti coerenti in base ai risultati della valutazione.
Altre informazioni:
Inviare commenti
Valiamo l'input! Se si hanno commenti e suggerimenti sulla valutazione batch o sull'agente di modernizzazione, creare un problema nel repository github-copilot-appmod o usare il modulo di feedback sulla modernizzazione di GitHub Copilot.