Batch-plan met de GitHub Copilot moderniseringsagent

Met Batch-plan kunt u moderniseringsplannen genereren voor meerdere opslagplaatsen met behulp van één werkstroom en een gedeeld moderniseringsdoel. In dit artikel leest u hoe u consistente plannen maakt voor meerdere toepassingen voordat u begint met de uitvoering.

Met een batchabonnement kunt u:

  • Maak plannen voor meerdere toepassingen in één begeleide werkstroom.
  • Pas een consistent moderniseringsdoel toe op meerdere opslagplaatsen.
  • Gebruik evaluatieresultaten als context om de kwaliteit van het plan te verbeteren.
  • Bekijk plannen voordat u deze uitvoert en bepaal welke opslagplaatsen eerst moeten worden gemoderniseerd.

Batch-abonnement biedt de volgende voordelen:

  • Consistentie en controle:

    • Gedeelde intentie: begin met één moderniseringsprompt tussen opslagplaatsen.
    • Vergelijkbare uitvoer: Bekijk plannen naast elkaar voordat u ze uitvoert.
    • Flexibele verfijning: bewerk elk gegenereerd plan om aan de specifieke behoeften van de opslagplaats te voldoen.
  • Planning op schaal:

    • Zichtbaarheid van portfolio: inzicht in hoe dezelfde aanvraag van toepassing is op toepassingen.
    • Herbruikbare voorbereiding: gebruik dezelfde lijst met opslagplaatsen en evaluatie-uitvoer uit eerdere fasen.
    • Snellere besluitvorming: genereer eerst plannen en voer vervolgens alleen de opslagplaatsen uit die u goedkeurt.

Prerequisites

  • De CLI moderniseren.
  • Toegang tot alle opslagplaatsen die u wilt plannen.
  • GitHub-authenticatie geconfigureerd (gh auth login).
  • Een voltooide batch-evaluatie (aanbevolen) als u wilt dat de agent evaluatieresultaten als planningscontext gebruikt.

Tip

Batch-evaluatie is niet vereist, maar produceert meestal nauwkeurigere en bruikbare plannen omdat de agent kan verwijzen naar gedetecteerde problemen en migratiemogelijkheden.

Opslagplaatsen configureren

De moderniseringsagent ondersteunt meerdere manieren om de opslagplaatsen op te geven die u wilt plannen:

  • Huidige map: Maak een plan voor het project in uw huidige werkmap.
  • Handmatige invoer: voer lokale mappaden of externe Git-URL's rechtstreeks in.
  • Configuratiebestand voor opslagplaatsen: gebruik een JSON-configuratiebestand waarin alle opslagplaatsen worden vermeld.

Configuratiebestand voor opslagplaats

Voor batchbewerkingen in veel opslagplaatsen maakt u een JSON-configuratiebestand om alle opslagplaatsen weer te geven. Maak het bestand .github/modernize/repos.json bijvoorbeeld in uw werkmap, of geef een aangepast pad op.

Indeling (matrix met opslagplaatsen):

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

Elke opslagplaatsvermelding ondersteunt de volgende velden:

Veld Beschrijving Required
name Een beschrijvende naam voor de opslagplaats (gebruikt in rapporten en dashboards). Yes
url Git klonen-URL in HTTPS- of SSH-formaat. Een van url of path

Tip

U kunt hetzelfde repos.json bestand gebruiken in werkstromen voor batchevaluatie, batchplanning en batchupgrade.

De moderniseringsagent detecteert het repos.json bestand .github/modernize/repos.json automatisch wanneer u Een configuratiebestand selecteert bij interactieve modus. U kunt ook een aangepast pad opgeven.

Hoe batch-plan werkt

De werkstroom voor batchplanning:

  1. Selectie van opslagplaatsen: kies de opslagplaatsen die u wilt opnemen.
  2. Contextselectie: Gebruik desgewenst beschikbare evaluatierapporten als invoer.
  3. Promptdefinitie: Beschrijf uw moderniseringsdoel eenmaal en pas deze toe op opslagplaatsen.
  4. Verduidelijking: beantwoord eventuele vervolgvragen van de agent.
  5. Plangeneratie: De agent maakt een plan voor elke geselecteerde opslagplaats.

Elk gegenereerd plan wordt opgeslagen in de doelopslagplaats en kan vóór de uitvoering worden gecontroleerd of bewerkt.

Batchplan uitvoeren

Nadat u uw opslagplaatsen hebt geconfigureerd, start u de werkstroom voor batchplanning.

Interactieve modus

  1. Voer de moderniseringsagent uit:

    modernize
    
  2. Selecteer Plannen in het hoofdmenu.

    ○ 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. Kies hoe u de doelopslagplaatsen opgeeft. Selecteer in een configuratiebestand om een repos.json bestand te gebruiken.

    ○ 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
    

    Tip

    U kunt ook Handmatige invoer selecteren om lokale paden of externe Git-URL's rechtstreeks in te voeren, of Huidige map om een plan te maken voor het project in uw huidige map.

  4. Als het repos.json bestand wordt gedetecteerd op de standaardlocatie, vult de agent het automatisch in. Anders voert u het pad naar het configuratiebestand in en drukt u op Enter.

  5. Alle opslagplaatsen zijn standaard geselecteerd. Deselecteer de repositories die u wilt overslaan en druk op Enter om uw selectie te bevestigen.

    • Gebruik pijltoetsen om te navigeren en druk op Spatiebalk om afzonderlijke opslagplaatsen in te schakelen.
  6. Selecteer 1. Houd het plan lokaal om plannen op uw computer te genereren of kies 2. Dien deze in bij cloudagent om een cloudagent te laten genereren. Optie 2 is experimenteel.

  7. Voer een plannaam in of druk op Enter om de standaardwaarde te gebruiken.

  8. Voer uw moderniseringsdoelstelling in als opdracht. Voorbeeld:

    • 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. Druk op Enter om de plannen te genereren.

  10. De agent voert automatisch uit:

    • Kloont elke geselecteerde opslagplaats of verzendt een taak naar een cloudagent voor elke opslagplaats.
    • Genereert lokaal een plan voor elke repository of een pullrequest met het plan in elke repository.

Volgende stappen 

Nadat u het batchplan hebt voltooid, controleert u de plannen en voert u deze uit met behulp van de execute opdracht:

Feedback geven

Als u feedback heeft over het batchplan of de moderniseringsagent, maak dan een issue aan in de repository github-copilot-appmod of gebruik het feedbackformulier voor modernisering van GitHub Copilot.