Piano in batch con l'agente di modernizzazione GitHub Copilot

Il piano Batch consente di generare piani di modernizzazione per più repository usando un flusso di lavoro e un obiettivo di modernizzazione condiviso. Questo articolo illustra come creare piani coerenti tra più applicazioni prima di iniziare l'esecuzione.

Usando il piano batch, è possibile:

  • Creare piani per più applicazioni in un flusso di lavoro guidato.
  • Applicare un obiettivo di modernizzazione coerente tra i repository.
  • Usare i risultati della valutazione come contesto per migliorare la qualità del piano.
  • Esaminare i piani prima dell'esecuzione e decidere quali repository modernizzare per primi.

Il piano Batch offre i vantaggi seguenti:

  • Coerenza e controllo:

    • Intento condiviso: Parti da un unico prompt di modernizzazione in tutti i repository.
    • Risultati confrontabili: Esamina i piani uno accanto all’altro prima di eseguirli.
    • Perfezionamento flessibile: modificare ogni piano generato in base alle esigenze specifiche del repository.
  • Pianificazione su larga scala:

    • Visibilità portfolio: comprendere come viene applicata la stessa richiesta tra le applicazioni.
    • Preparazione riutilizzabile: riutilizzare lo stesso elenco di repository e gli output di valutazione delle fasi precedenti.
    • Processo decisionale più rapido: generare prima i piani, quindi eseguire solo i repository approvati.

Prerequisiti

  • Modernizzare la CLI.
  • Accesso a tutti i repository che si desidera pianificare.
  • L'autenticazione di GitHub è configurata (gh auth login).
  • Valutazione batch completata (scelta consigliata) se si desidera che l'agente usi i risultati della valutazione come contesto di pianificazione.

Suggerimento

La valutazione batch non è necessaria, ma in genere produce piani più accurati e interattivi perché l'agente può fare riferimento a problemi rilevati e opportunità di migrazione.

Configurare gli archivi

L'agente di modernizzazione supporta diversi modi per specificare i repository da pianificare:

  • Cartella corrente: Creare un piano per il progetto nella directory di lavoro corrente.
  • Inserimento manuale: immettere direttamente i percorsi delle directory locali o gli URL Git remoti.
  • File di configurazione del repository: usare un file di configurazione JSON che elenca tutti i repository.

File di configurazione del repository

Per le operazioni batch in molti repository, creare un file di configurazione JSON per elencare tutti i repository. Ad esempio, crealo nella directory di lavoro .github/modernize/repos.json oppure specifica un percorso personalizzato.

Formato (matrice di repository):

[
    {
        "name": "PhotoAlbum-Java",
        "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
    },
    {
        "name": "PhotoAlbum",
        "url": "https://github.com/Azure-Samples/NewsFeedSite.git"
    }
]

Ogni voce del repository supporta i campi seguenti:

Campo Description Obbligatorio
name Nome amichevole per il repository (usato nei report e nei dashboard). Yes
url URL clone Git in formato HTTPS o SSH. Uno di url o path

Suggerimento

È possibile usare lo stesso repos.json file tra flussi di lavoro di valutazione batch, piano batch e aggiornamento batch.

L'agente di modernizzazione rileva automaticamente il repos.json file in .github/modernize/repos.json quando si seleziona Da un file di configurazione in modalità interattiva. È anche possibile fornire un percorso personalizzato.

Come funziona il piano batch

Flusso di lavoro della pianificazione in batch:

  1. Selezione repository: scegliere i repository da includere.
  2. Selezione del contesto: facoltativamente usare i report di valutazione disponibili come input.
  3. Definizione del prompt: Descrivi il tuo obiettivo di modernizzazione una sola volta e applicalo in tutti i repository.
  4. Chiarimento: rispondere a eventuali domande di completamento dell'agente.
  5. Generazione del piano: l'agente crea un piano per ogni repository selezionato.

Ogni piano generato viene salvato nel repository di destinazione e può essere esaminato o modificato prima dell'esecuzione.

Eseguire il piano batch

Dopo aver configurato i repository, avviare il flusso di lavoro di pianificazione batch.

Modalità interattiva

  1. Eseguire l'agente di modernizzazione:

    modernize
    
  2. Selezionare Plan (Piano) dal menu principale.

    ○ How would you like to modernize your app?
    
        Assess
        Analyze modernization readiness across one or multiple applications
      > Plan
        Generate a structured plan to guide the agent
        Execute
        Run the tasks defined in the modernization plan
    
      Or select a quick-start scenario:
    
        Upgrade
            Upgrade runtimes and frameworks across one or multiple applications
    
  3. Scegliere come specificare i repository di destinazione. Selezionare Da un file di configurazione per usare un repos.json file.

    ○ Choose target repositories
    
        1. Current folder
          /Users/username/project
        2. Manual input
          Enter local path or remote URL
      > 3. From a config file
          /path/to/.github/modernize/repos.json
    

    Suggerimento

    È anche possibile selezionare Input manuale per immettere direttamente percorsi locali o URL Git remoti oppure Cartella corrente per pianificare il progetto nella directory corrente.

  4. Se il repos.json file viene rilevato nel percorso predefinito, l'agente lo riempie automaticamente. In caso contrario, immettere il percorso del file di configurazione e premere INVIO.

  5. Tutti i repository sono selezionati per impostazione predefinita. Deselezionare tutti i repository da ignorare e quindi premere INVIO per confermare la selezione.

    • Usare i tasti di direzione per spostarsi e premere Spazio per attivare o disattivare singoli repository.
  6. Seleziona 1. Mantieni il piano in locale per generare i piani sulla tua macchina, oppure scegli 2. Invia a Cloud Agent per farli generare da un agente cloud. L'opzione 2 è sperimentale.

  7. Immettere un nome di piano o premere INVIO per usare l'impostazione predefinita.

  8. Immettere l'obiettivo di modernizzazione come richiesta. Per esempio:

    • upgrade to Spring Boot 3 and prepare for Azure deployment
    • migrate the database to Azure PostgreSQL
    • containerize the application and deploy to Azure Container Apps
  9. Premere INVIO per generare i piani.

  10. L'agente opera automaticamente:

    • Clona ogni repository selezionato o invia un processo a un agente cloud per ogni repository.
    • Genera un piano per ciascun repository localmente oppure una pull request con il piano per ciascun repository.

Passaggi successivi

Dopo aver completato il piano batch, esaminare i piani ed eseguirli usando il execute comando :

Inviare commenti

Se si hanno commenti e suggerimenti sul piano batch o sull'agente di modernizzazione, creare un problema nel repository github-copilot-appmod o usare il modulo di feedback sulla modernizzazione GitHub Copilot.