Delen via


Batch-evaluatie met de GitHub Copilot-moderniseringsagent

Met Batch-evaluatie kunt u meerdere toepassingen tegelijk analyseren, zodat u een uitgebreid overzicht krijgt van het moderniseringslandschap in uw toepassingen. In dit artikel wordt u begeleid bij het proces van het efficiënt beoordelen van meerdere opslagplaatsen.

Batch-evaluatie is vooral waardevol voor migratieplanning, omdat u hiermee efficiënt de gereedheid en vereisten van verschillende toepassingen tegelijk kunt beoordelen. Met behulp van batchevaluatie kunt u verschillende opslagplaatsen tegelijk evalueren en gedetailleerde evaluatierapporten voor elke toepassing verkrijgen. Het produceert twee soorten rapporten ter ondersteuning van uw migratieplanning:

  • Per app-rapport: biedt gedetailleerde inzichten in alle moderniseringsproblemen die zijn geïdentificeerd op het niveau van de afzonderlijke opslagplaats.
  • Samengevoegd rapport: geeft een algemeen perspectief van alle geëvalueerde toepassingen, biedt overzichtsinzichten, aanbevelingen voor Azure-services, doelplatforms en upgradepaden. Daarnaast bevat het samengevoegde rapport snelkoppelingen voor eenvoudige toegang tot elk rapport per app.

Batch-evaluatie biedt de volgende voordelen:

  • Zichtbaarheid tussen toepassingen

    • Geaggregeerde rapporten: krijg een uitgebreide weergave van toepassingen.
    • Analyse tussen opslagplaatsen: algemene patronen en afhankelijkheden in toepassingen identificeren.
    • Prioriteitsinzichten: inzicht in welke toepassingen direct aandacht nodig hebben.
  • 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 evaluatie.
    • Tijdbesparing: Verminder de totale evaluatietijd van weken tot uren.

Vereiste voorwaarden

  • De CLI moderniseren.
  • Toegang tot alle opslagplaatsen die u wilt evalueren.
  • GitHub-verificatie is geconfigureerd (gh auth login).

Opslagplaatsen configureren

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

Zorg ervoor dat je de juiste machtigingen hebt voor de repositories of maak een fork ervan.

[
  {
    "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"
  }
]

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 in HTTPS-formaat.

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 wanneer er batchbewerkingen worden uitgevoerd.

Batch-evaluatie uitvoeren

Er zijn twee uitvoeringsmodi beschikbaar:

  • Lokale uitvoering: de moderniseringsagent verwerkt opslagplaatsen na elkaar op uw lokale computer. Deze modus werkt het beste voor een kleinere set toepassingen of voor eerste tests.
  • Delegatie van cloudcoderingsagent: de moderniseringsagent verzendt taken naar GitHub Cloud Coding Agents voor parallelle verwerking in de cloud. Deze modus is sneller voor scenario's met meerdere repositories.

Aanbeveling

Door cloudcoderingsagentdelegering te gebruiken, schakelt u parallelle uitvoering in alle opslagplaatsen in. Deze aanpak vermindert de totale beoordelingstijd voor grote portfolio's aanzienlijk.

Interactieve modus (lokaal evalueren)

  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 de terminal.

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

    • Pers Ctrl+A om alle opslagplaatsen te selecteren.
    • Gebruik de pijltoetsen om te navigeren en druk Space om afzonderlijke opslagplaatsen te selecteren.
  4. Selecteer 1. Toepassing evalueren vanuit het hoofdmenu.

    Schermopname van Modernize CLI met het menu moderniseren in de terminal.

  5. Als u een evaluatie wilt uitvoeren, kiest u ervoor om lokaal te evalueren of te delegeren aan cloudcoderingsagents. Selecteer 1. Lokaal evalueren.

    Schermopname van Modernize CLI dat het assess-menu in de terminal toont.

  6. De agent voert automatisch uit:

    • Kloont alle geselecteerde opslagplaatsen.

    • Voert een evaluatie uit op elke opslagplaats, één voor één.

    • Genereert individuele evaluatierapporten.

      Schermopname van de Modernize CLI met de uitvoer van het genereren van een afzonderlijk evaluatierapport in de terminal.

    • Hiermee maakt u een samengevoegd rapport.

      Schermopname van Modernize CLI met de uitvoer van de geaggregeerde rapportgeneratie in de terminal.

  7. Wanneer de evaluatie is voltooid, opent de agent automatisch het samengevoegde rapport.

    Schermopname van de Modernize CLI die de inhoud van het geaggregeerde rapport toont.

Interactieve modus (delegeren aan Cloud Coding Agents)

Configureer eerst Cloud Coding Agents in elke toepassingsopslagplaats. Als u Cloud Coding Agents wilt configureren, moet u de voorbeeldopslagplaatsen forkeren.

Configuratie voor .NET-toepassingen

Configureren voor uitvoering in Windows voor .NET Framework-toepassingen

Standaard wordt de Copilot-coderingsagent uitgevoerd in een Ubuntu Linux-omgeving. Voor .NET Framework-toepassingen hebt u een Windows-omgeving nodig. Als u dit wilt inschakelen, configureert u .github/workflows/copilot-setup-steps.yaml in de main vertakking van uw toepassingsopslagplaats, zoals in het volgende voorbeeld wordt weergegeven.

# 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

Meer informatie over: De ontwikkelomgeving van Copilot aanpassen met Copilot-installatiestappen

Firewall uitschakelen

Schakel de geïntegreerde firewall van de Copilot-coderingsagent uit in de instellingen van uw opslagplaats, zoals wordt weergegeven in de volgende afbeelding:

Schermopname van GitHub met de opslagplaatsinstellingen met de instelling Firewall inschakelen ingesteld op Uit.

Configuratie voor Java-toepassingen

Configureer GitHub Copilot Modernization MCP Server in de sectie Cloud Coding Agent van uw opslagplaatsinstellingen, zoals wordt weergegeven in het volgende voorbeeld:

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

Schermopname van GitHub met de instellingen voor de coderingsagent voor de opslagplaats, met de sectie MCP-configuratie 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 beoordelen en druk Enter om uw selectie te bevestigen.

    • Pers Ctrl+A om alle opslagplaatsen te selecteren.
    • Gebruik de pijltoetsen om te navigeren en druk Space om afzonderlijke opslagplaatsen te selecteren.
  4. Selecteer 1. Toepassingen evalueren vanuit het hoofdmenu.

    Schermopname van Modernize CLI met het menu moderniseren in de terminal.

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

    Schermopname van de Modernize CLI met het evaluatiemenu, met de optie 'Deleguer naar Cloud Coding Agents' geselecteerd.

  6. De agent delegeert automatisch evaluatietaken voor elke opslagplaats naar Cloud Coding Agents en voert deze parallel uit in de cloud.

    Schermopname van Modernize CLI met de uitvoer van de voortgang van het delegeren van evaluatie naar Cloud Coding Agents in de terminal.

    De agent haalt vervolgens de evaluatieresultaten per app terug naar lokaal en genereert het geaggregeerde rapport lokaal.

    Schermopname van Modernize CLI met de Aggregating Assessment Reports in de terminal.

  7. Wanneer de evaluatie is voltooid, opent de agent automatisch het samengevoegde rapport.

Niet-interactieve modus (CLI)

U kunt ook de niet-interactieve modus gebruiken door opdrachtargumenten rechtstreeks op te geven. Gebruik de opdracht modernize assess:

Lokaal evalueren:

modernize assess --multi-repo

Beoordeel door delegeren aan cloudcoderingsagents:

modernize assess --delegate cloud

Zie evalueren - CLI-opdrachten voor meer informatie.

Inzicht in het samengevoegde rapport

Het samengevoegde rapport biedt als volgt een uitgebreide weergave van geëvalueerde toepassingen:

Dashboard

  • Momentopname van portfoliostatus: totaal aantal apps, hoeveel upgrades nodig zijn en het aantal aggregatieblokkeringen en aantal problemen.
  • Technologiedistributie: welke frameworks worden gebruikt en hoeveel apps ze delen.
  • Verdeling van de inspanning: of de algehele migratie een kleine of grote onderneming is.

Aanbevelingen

  • Azure Services: wijst huidige afhankelijkheden toe aan aanbevolen Azure-equivalenten. Gedeelde afhankelijkheden tussen apps worden eenmaal besloten, dus u voorkomt dat u per app opnieuw werkt.
  • Doelplatform: begeleidt hostingkeuze, zoals Container Apps versus AKS, en biedt mogelijkheden voor samenvoeging.
  • Upgradepad: identificeert welke apps frameworkupgrades nodig hebben als een vereiste, waardoor het upgradewerk van het migratiewerk wordt gescheiden.
  • Migratiegolven: sequentieert apps op gereedheid en risico in fasen. Deze aanpak maakt vroege overwinningen mogelijk, terwijl hardere apps parallel worden voorbereid.

Matrix voor toepassingsevaluatie

  • Snel overzicht voor elke toepassing op aspecten van framework, doelplatform, upgradeaanbeveling, uitsplitsing van problemen (verplicht, potentieel, optioneel), grootte van inspanning en meer.
  • Koppelingen naar afzonderlijke app-rapporten voor inzoomen wanneer dat nodig is.

Problemen met batchevaluatie 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 die worden vermeld in repos.json.

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 uw netwerkconnectiviteit en VPN-instellingen.

Evaluatiefouten:

  • Controleer of de opslagplaats geldige Java- of .NET-projecten bevat.
  • Controleer of er buildbestanden bestaan, zoals pom.xml, build.gradle, *.csprojof *.sln.
  • Bekijk foutberichten in de console-uitvoer.

Problemen met delegatie van Cloud Coding Agent:

  • Zorg ervoor dat u over de juiste machtigingen beschikt om Werkstromen voor GitHub Actions te maken.
  • Controleer de machtigingen en quotumlimieten van GitHub Actions voor uw organisatie.
  • Voor .NET Framework-apps moet u ervoor zorgen dat de configuratie van Windows runner correct is ingesteld.
  • Controleer de configuratie van uw MCP-server.

Volgende stappen 

Nadat de batch-evaluatie is voltooid, kunt u het volgende doen:

Ga door met de moderniseringswerkstroom:

Meer informatie:

Feedback geven

We waarderen uw invoer! Als u feedback hebt over batchevaluatie of de Modernization-agent, maak een melding in de github-copilot-appmod repository of gebruik het feedbackformulier voor modernisering van GitHub Copilot.