Delen via


Batch-upgrade met de GitHub Copilot-moderniseringsagent

Met Batch-upgrade kunt u consistente moderniseringsplannen toepassen op meerdere opslagplaatsen tegelijk. In dit artikel leest u hoe u meerdere toepassingen efficiënt kunt upgraden op ondernemingsniveau.

Met behulp van batchupgrade kunt u het volgende doen:

  • Upgrade meerdere toepassingen tegelijk met hetzelfde upgradedoel.
  • Pas consistente patronen toe met behulp van vergelijkbare upgradepatronen in toepassingen.
  • Gebruik parallelle uitvoering wanneer u de taken aan Cloud Coding Agents delegeert.

Batch-upgrade biedt de volgende voordelen:

  • Consistente uitvoering:

    • Gestandaardiseerde benadering: dezelfde moderniseringspatronen toepassen op alle opslagplaatsen.
    • Verminderde variabiliteit: Zorg voor consistente upgradepaden voor vergelijkbare toepassingen.
    • Herbruikbare strategieën: gebruik organisatiespecifieke vaardigheden in toepassingen.
  • Schaal en efficiëntie:

    • Parallelle verwerking: Gebruik Cloud Coding Agents om meerdere opslagplaatsen tegelijk te verwerken.
    • Geautomatiseerde werkstromen: integreren met CI/CD-pijplijnen voor geplande modernisering.
    • Tijdbesparing: Verminder de totale moderniseringstijd van weken tot uren.

Vereiste voorwaarden

  • De CLI moderniseren.
  • Een voltooide batch-evaluatie (aanbevolen maar niet vereist).
  • Alle opslagplaatsen gebruiken dezelfde programmeertaal (Java of .NET).
  • Toegang tot alle opslagplaatsen die u wilt upgraden.
  • GitHub-verificatie geconfigureerd (gh auth login).

Belangrijk

Alle opslagplaatsen in een batch-upgrade moeten dezelfde programmeertaal gebruiken. Als een opslagplaats een andere taal gebruikt, markeert de batch-upgrade de opslagplaats als mislukt en slaat deze over.

Opslagplaatsen configureren

Als u batchupgrade wilt inschakelen, maakt u een .github/modernize/repos.json bestand in uw werkmap met alle opslagplaatsen die u wilt upgraden.

Aanbeveling

Voor voorbeelden van opslagplaatsen moet u deze eerst forken en ervoor zorgen dat u beheerdersrechten hebt om de taak te delegeren aan Cloud Coding Agents.

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

Configuratie van opslagplaats

Voor elke vermelding is het volgende vereist:

  • name: Een beschrijvende naam voor de opslagplaats (gebruikt in rapporten en dashboards).
  • URL: De GIT-kloon-URL (HTTPS-indeling).

Aanbeveling

U kunt opslagplaatsen van verschillende organisaties opnemen en verschillende verificatiemethoden gebruiken zolang u toegang hebt.

Bestandslocatie

U moet het repos.json bestand op .github/modernize/repos.json plaatsen.

De moderniseringsagent detecteert dit bestand automatisch bij het uitvoeren van batchbewerkingen.

De uitvoeringsmodus kiezen

Batch-upgrade ondersteunt twee uitvoeringsmodi en twee interactiemethoden:

Uitvoeringsmodi

Lokale uitvoering

  • Geschikt voor: testen, kleinere sets opslagplaatsen (1-5 opslagplaatsen) of wanneer u liever lokaal beheer hebt.
  • Hoe het werkt: verwerkt opslagplaatsen sequentieel op uw lokale computer.
  • Configuratie vereist: Geen, afgezien van de basisvereisten.

Delegatie van cloudcoderingsagent

  • Geschikt voor: Bewerkingen op ondernemingsniveau, grote portfolio's (5+ opslagplaatsen) of parallelle verwerking.
  • Hoe het werkt: verzendt taken naar GitHub Cloud Coding Agents voor parallelle uitvoering in de cloud.
  • Installatie vereist: MCP-serverconfiguratie in elke opslagplaats (geconfigureerd tijdens de installatie).

Aanbeveling

Door repositories parallel te bewerken, kan de delegatie van de cloud coding agent de totale moderniseringstijd van uren tot minuten verkorten.

Interactiemethoden

Interactieve modus (TUI)

  • Begeleide ervaring met menu's en prompts.
  • Geschikt voor gebruikers die voor het eerst zijn of wanneer u opties wilt bekijken.
  • Ondersteunt zowel lokale als clouduitvoering.

Niet-interactieve modus (CLI/zonder grafische interface)

  • Opdrachtregel gebaseerd, volledig geautomatiseerd.
  • Het meest geschikt voor CI/CD-pijplijnen en automatisering.
  • Ondersteunt zowel lokale als clouduitvoering met vlag --delegate cloud .

Opmerking

U kunt elke uitvoeringsmodus combineren met elke interactiemethode. Voorbeeld:

  • modernize (interactief, lokaal)
  • modernize → Cloudcoding-agents selecteren (interactief, cloud)
  • modernize upgrade "Java 21" (niet-interactief, lokaal)
  • modernize upgrade "Java 21" --delegate cloud (niet-interactief, cloud)

Hoe batch-upgrade werkt

De werkstroom voor batchupgrades:

  1. Taaldetectie: detecteert automatisch de projecttaal (Java of .NET) uit de eerste opslagplaats.
  2. Plan maken: hiermee maakt u een upgradeplan op basis van uw prompt of gebruikt u de nieuwste LTS-versies.
  3. Uitvoering: De upgrade wordt toegepast op elke opslagplaats.
  4. Validatie: bouwt en valideert wijzigingen voor elke opslagplaats.

Een batchupgrade uitvoeren

Nadat u uw opslagplaatsen hebt geconfigureerd en een uitvoeringsmodus hebt gekozen, start u de batch-upgrade.

Interactieve modus (lokaal upgraden)

  1. Voer de moderniseringsagent uit:

    modernize
    
  2. De agent detecteert het repos.json bestand en geeft de lijst met opslagplaatsen weer:

    Schermopname van Modernize CLI die de lijst Repositories kiezen toont in de terminal.

  3. Selecteer opslagplaatsen die u wilt upgraden en druk om Enter uw selectie te bevestigen.

    • Pers Ctrl+A om alle opslagplaatsen te selecteren.
    • Of gebruik pijltoetsen om te navigeren en op afzonderlijke opslagplaatsen te drukken Enter .
  4. Selecteer 2. Voer een upgrade uit vanuit het hoofdmenu.

    Schermopname van Modernize CLI met de menuoptie Upgrade Runtime & Framework in de terminal.

  5. Selecteer 1 om de upgrade uit te voeren . Upgrade lokaal.

    Schermopname van Modernize CLI met de optie Lokaal upgraden in de terminal.

  6. De agent voert automatisch uit:

    • Hiermee maakt u een upgradeplan op basis van uw aanvraag.
    • Het plan wordt opeenvolgend toegepast op elke opslagplaats.
    • Bouwt en valideert elke opslagplaats na wijzigingen.
    • Geeft de voortgang en samenvatting weer voor elke opslagplaats.

    Schermopname van Modernize CLI met de voortgang van de upgrade voor elke opslagplaats in de terminal.

Interactieve modus (delegeren aan Cloud Coding Agents)

Vereisten: MCP-server configureren

Voordat u de upgrade uitvoert, configureert u de McP-server voor GitHub Copilot-modernisering in elke opslagplaats.

Voor Java-toepassingen voegt u deze configuratie toe in de sectie Cloud Coding Agent van uw opslagplaatsinstellingen:

{
  "mcpServers": {
    "app-modernization": {
      "type": "local",
      "command": "npx",
      "tools": [
        "*"
      ],
      "args": [
        "-y",
        "@microsoft/github-copilot-app-modernization-mcp-server"
      ]
    }
  }
}

Schermopname van GitHub die het instellingenpaneel voor de code-agent van de repository toont, waarbij de sectie MCP-configuratie is gemarkeerd.

Steps

  1. Voer de moderniseringsagent uit:

    modernize
    
  2. De agent detecteert het repos.json bestand en geeft de lijst met opslagplaatsen weer:

    Schermopname van Modernize CLI met de lijst met opslagplaatsen in terminal.

  3. Selecteer opslagplaatsen die u wilt upgraden en druk om Enter uw selectie te bevestigen.

    • Pers Ctrl+A om alle opslagplaatsen te selecteren.
    • Of gebruik pijltoetsen om te navigeren en op afzonderlijke opslagplaatsen te drukken Enter .
  4. Selecteer 2. Voer een upgrade uit vanuit het hoofdmenu.

  5. Selecteer 2 om de upgrade uit te voeren . Delegeren aan Cloud Coding Agents.

    Schermopname van Modernize CLI met de menuoptie Delegate to Cloud Coding Agents in de terminal.

  6. De agent voert automatisch uit:

    • Hiermee maakt u upgradeplannen voor elke opslagplaats.

    • Verzendt een Cloud Coding Agent-taak voor elke opslagplaats.

    • Voert taken onafhankelijk parallel uit in de cloud.

    • Geeft taak-id's en PR-URL's voor elke opslagplaats weer.

      Schermopname van Modernize CLI waarin de voortgang van het delegeren van upgrades naar Cloud Coding Agents in de terminal wordt weergegeven.

    • Hiermee worden taken gedelegeerd aan AgentHQ voor parallelle uitvoering.

      Schermopname van GitHub met het deelvenster Agents met de upgradetaken die zijn gedelegeerd aan AgentHQ.

    • Houdt de voortgang bij voor elke afzonderlijke taak in realtime.

      Schermopname van GitHub met het deelvenster Agents met voortgangstracering voor afzonderlijke upgradetaken voor cloudcoderingsagents.

    • Geeft een upgradeoverzicht weer voor elke voltooide taak.

      Schermopname van GitHub met het deelvenster Agents met de upgradesamenvatting voor afzonderlijke cloudcoderingsagenttaken.

Niet-interactieve modus (CLI)

Gebruik de modernize upgrade opdracht voor automatisering en CI/CD-integratie:

Lokaal upgraden:

modernize upgrade "Java 21"

Upgraden met cloudcoderingsagents:

modernize upgrade "Java 21" --delegate cloud

Met de opdracht wordt het repos.json bestand automatisch gedetecteerd en worden alle opslagplaatsen verwerkt.

Opmerking

Zie de sectie Multi-opslagplaatsconfiguratie in de CLI-opdrachten referentie voor batch niet-interactieve uitvoering en meer CLI-opties.

Resultaten beoordelen

Wanneer de batch-upgrade is voltooid:

  1. Controleer het geaggregeerde rapport dat wordt weergegeven in de terminal.

  2. Wijzigingen in afzonderlijke opslagplaatsen bekijken:

    cd <repository-name>
    git status
    git diff
    
  3. Pull-aanvragen maken voor geslaagde upgrades:

    cd <repository-name>
    gh pr create --title "Upgrade to Java 21" --body "Automated upgrade by modernization agent"
    

Problemen met batchupgrades oplossen

Veelvoorkomende problemen

Fouten bij toegang tot opslagplaatsen:

  • Verifieer GitHub-verificatie met behulp van gh auth status.
  • Zorg ervoor dat u toegang hebt tot alle opslagplaatsen in repos.json.

Taalafwijkingsfouten:

  • Zorg ervoor dat alle opslagplaatsen in repos.json dezelfde taal (Java of .NET) worden gebruikt.
  • Maak afzonderlijke batchbewerkingen voor verschillende talen.

Kloonfouten:

  • Controleer of de URL's van de opslagplaats in repos.json correct en toegankelijk zijn.
  • Zorg ervoor dat u over de juiste toegangsmachtigingen voor alle opslagplaatsen beschikt.
  • Controleer de netwerkconnectiviteit en VPN-instellingen.

Buildfouten na een upgrade:

  • Bekijk buildfoutberichten in het samengevoegde rapport.
  • Controleer of u andere afhankelijkheden moet bijwerken.
  • Controleer de compatibiliteit van bibliotheken van derden met de nieuwe versie.

Fouten in afzonderlijke opslagplaatsen:

  • Het batchproces wordt voortgezet, zelfs als afzonderlijke opslagplaatsen mislukken.
  • Bekijk het samengevoegde rapport om mislukte opslagplaatsen te identificeren.
  • Controleer de foutenlogboeken op specifieke foutberichten.
  • Mislukte opslagplaatsen afzonderlijk opnieuw proberen.

Fouten in Cloud Coding Agent:

  • Controleer de machtigingen en quotumlimieten voor GitHub Actions.
  • Controleer voor .NET Framework of de windows-runnerconfiguratie juist is ingesteld.

Volgende stappen 

Nadat u de batchupgrade hebt voltooid, kunt u het volgende doen:

Ga verder met verbeteren:

Meer informatie:

Feedback geven

We waarderen uw invoer! Als u feedback hebt over batch-upgrade of de Moderniseringsagent, meldt u een probleem in de opslagplaats github-copilot-appmod of gebruikt u het feedbackformulier voor modernisering van GitHub Copilot.