Dela via


Batchutvärdering med GitHub Copilot-moderniseringsagenten

Med Batch-utvärdering kan du analysera flera program samtidigt, vilket ger en omfattande vy över moderniseringslandskapet i dina program. Den här artikeln vägleder dig genom processen att utvärdera flera lagringsplatser effektivt.

Batchutvärdering är särskilt värdefull för migreringsplanering eftersom du på ett effektivt sätt kan utvärdera beredskapen och kraven för olika program samtidigt. Genom att använda batchutvärdering kan du utvärdera olika lagringsplatser samtidigt och få detaljerade utvärderingsrapporter för varje program. Den skapar två typer av rapporter som stöder migreringsplaneringen:

  • Per apprapport: Ger detaljerade insikter om alla moderniseringsproblem som identifierats på enskild lagringsplatsnivå.
  • Sammanställd rapport: Visar ett övergripande perspektiv på alla utvärderade program, som erbjuder sammanfattningsinsikter, rekommendationer om Azure-tjänster, målplattformar och uppgraderingsvägar. Dessutom innehåller den aggregerade rapporten genvägar för enkel åtkomst till varje apprapport.

Batch-utvärdering ger följande fördelar:

  • Synlighet mellan program:

    • Sammanställda rapporter: Få en omfattande vy över program.
    • Analys mellan lagringsplatser: Identifiera vanliga mönster och beroenden mellan program.
    • Prioriteringsinsikter: Förstå vilka program som behöver omedelbar uppmärksamhet.
  • Skala och effektivitet:

    • Parallell bearbetning: Använd molnkodningsagenter för att bearbeta flera lagringsplatser samtidigt.
    • Automatiserade arbetsflöden: Integrera med CI/CD-pipelines för schemalagd utvärdering.
    • Tidsbesparingar: Minska den totala utvärderingstiden från veckor till timmar.

Förutsättningar

  • Modernisera CLI.
  • Åtkomst till alla lagringsplatser som du vill utvärdera.
  • GitHub-autentisering har konfigurerats (gh auth login).

Konfigurera lagringsplatser

Om du vill aktivera batchutvärdering skapar du en .github/modernize/repos.json fil i arbetskatalogen som visar alla lagringsplatser som du vill utvärdera.

Kontrollera att du har rätt behörigheter för lagringsplatserna eller förgrena dem.

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

Konfiguration av lagringsplats

Varje post kräver:

  • name: Ett eget namn för lagringsplatsen (används i rapporter och instrumentpaneler).
  • url: Git-klonings-URL:en i HTTPS-format.

Tips/Råd

Du kan inkludera lagringsplatser från olika organisationer och använda olika autentiseringsmetoder så länge du har åtkomst.

Filplats

Du måste placera repos.json filen på .github/modernize/repos.json.

Moderniseringsagenten identifierar automatiskt den här filen när den kör batchåtgärder.

Köra batchutvärdering

Två körningslägen är tillgängliga:

  • Lokal körning: Moderniseringsagenten bearbetar lagringsplatser en efter en på den lokala datorn. Det här läget fungerar bäst för en mindre uppsättning program eller för inledande testning.
  • Delegering av molnkodningsagent: Moderniseringsagenten skickar uppgifter till GitHub Cloud Coding Agents för parallell bearbetning i molnet. Det här läget är snabbare för flerepo-scenarier.

Tips/Råd

Genom att använda Cloud Coding Agent-delegering aktiverar du parallell körning över alla lagringsplatser. Den här metoden minskar avsevärt den totala utvärderingstiden för stora portföljer.

Interaktivt läge (utvärdera lokalt)

  1. Kör moderniseringsagenten:

    modernize
    
  2. Agenten repos.json identifierar filen och visar lagringsplatsens lista:

    Skärmbild av Modernisera CLI som visar lagringsplatsens lista i terminalen.

  3. Välj lagringsplatser att utvärdera och tryck Enter på för att bekräfta ditt val.

    • Tryck Ctrl+A för att välja alla lagringsplatser.
    • Använd piltangenterna för att navigera och trycka Space för att välja enskilda lagringsplatser.
  4. Välj 1. Utvärdera programmet från huvudmenyn.

    Skärmbild av Modernisera CLI som visar den moderniserade menyn i terminalen.

  5. Om du vill köra utvärderingen väljer du att antingen utvärdera lokalt eller delegera till molnkodningsagenter. Välj 1. Utvärdera lokalt.

    Skärmbild av Modernisera CLI som visar utvärderingsmenyn i terminalen.

  6. Agenten utför automatiskt följande:

    • Klonar alla valda lagringsplatser.

    • Kör utvärdering på varje lagringsplats en i taget.

    • Genererar enskilda utvärderingsrapporter.

      Skärmbild av Modernisera CLI som visar utdata från enskilda utvärderingsrapportgenereringar i terminalen.

    • Skapar en aggregerad rapport.

      Skärmbild av Modernisera CLI som visar utdata från den aggregerade rapportgenereringen i terminalen.

  7. När utvärderingen är klar öppnar agenten automatiskt den aggregerade rapporten.

    Skärmbild av Modernisera CLI som visar innehållet i den aggregerade rapporten.

Interaktivt läge (delegera till molnkodningsagenter)

Konfigurera först Molnkodningsagenter på varje programlagringsplats. För att konfigurera Molnkodningsagenter förgrenar du exempellagringsplatserna.

Konfiguration för .NET-program

Konfigurera för att köras i Windows för .NET Framework-program

Som standard körs Copilot Coding Agent i en Ubuntu Linux-miljö. För .NET Framework-program behöver du en Windows-miljö. Om du vill aktivera den konfigurerar du .github/workflows/copilot-setup-steps.yaml i grenen main av programlagringsplatsen enligt följande exempel:

# 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

Läs mer från: Anpassa Copilots utvecklingsmiljö med Konfigurationssteg för Copilot

Inaktivera brandvägg

Inaktivera Copilot-kodningsagentens integrerade brandvägg i lagringsplatsens inställningar enligt följande bild:

Skärmbild av GitHub som visar lagringsplatsens inställningar med inställningen Aktivera brandvägg inställd på Av.

Konfiguration för Java-program

Konfigurera GitHub Copilot Modernization MCP Server i avsnittet Cloud Coding Agent i lagringsplatsens inställningar enligt följande exempel:

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

Skärmbild av GitHub som visar lagringsplatsen Kodningsagentinställningar med avsnittet MCP-konfiguration markerat.

Instruktioner

  1. Kör moderniseringsagenten:

    modernize
    
  2. Agenten repos.json identifierar filen och visar lagringsplatsens lista:

    Skärmbild av Modernisera CLI som visar lagringsplatsens lista i terminalen.

  3. Välj lagringsplatser att utvärdera och tryck Enter på för att bekräfta ditt val.

    • Tryck Ctrl+A för att välja alla lagringsplatser.
    • Använd piltangenterna för att navigera och trycka Space för att välja enskilda lagringsplatser.
  4. Välj 1. Utvärdera program från huvudmenyn.

    Skärmbild av Modernisera CLI som visar den moderniserade menyn i terminalen.

  5. Om du vill köra utvärderingen väljer du 2. Delegera till molnkodningsagenter.

    Skärmbild av Modernisera CLI som visar utvärderingsmenyn med alternativet Delegera till molnkodningsagenter valt.

  6. Agenten delegerar automatiskt utvärderingsuppgifter för varje lagringsplats till Molnkodningsagenter och kör dem parallellt i molnet.

    Skärmbild av Modernisera CLI som visar resultatet av förloppet för delegering av utvärdering till molnkodningsagenter i terminalen.

    Agenten hämtar sedan utvärderingsresultatet per app tillbaka till lokalt och genererar den aggregerade rapporten lokalt.

    Skärmbild av Modernisera CLI som visar aggregeringsutvärderingsrapporter i terminalen.

  7. När utvärderingen är klar öppnar agenten automatiskt den aggregerade rapporten.

Icke-interaktivt läge (CLI)

Du kan också använda icke-interaktivt läge genom att ange kommandoargument direkt. Använd kommandot modernize assess:

Utvärdera lokalt:

modernize assess --multi-repo

Utvärdera genom att delegera till molnkodningsagenter:

modernize assess --delegate cloud

Mer information finns i utvärdera – CLI-kommandon.

Förstå den aggregerade rapporten

Den aggregerade rapporten ger en omfattande vy över utvärderade program på följande sätt:

Dashboard

  • Ögonblicksbild av portföljhälsa: totalt antal appar, hur många som behöver uppgraderingar och antal aggregerade blockeringar och problem.
  • Teknikdistribution: vilka ramverk som används och hur många appar som delar dem.
  • Insatsfördelning: om migreringen i sin helhet är ett litet eller stort åtagande.

Recommendations

  • Azure Services: mappar aktuella beroenden till rekommenderade Azure-motsvarigheter. Delade beroenden mellan appar bestäms en gång, så du undviker omarbete per app.
  • Målplattform: vägleder värdalternativ, till exempel Container Apps jämfört med AKS, och visar konsolideringsmöjligheter.
  • Uppgraderingssökväg: identifierar vilka appar som behöver ramverksuppgraderingar som en förutsättning, vilket skiljer uppgraderingsarbetet från migreringsarbetet.
  • Migreringsvågor: ordnar appar efter beredskap och risk i faser. Den här metoden möjliggör tidiga vinster medan svårare appar förbereds parallellt.

Matris för programutvärdering

  • Snabböversikt för varje program avseende ramverk, målplattform, uppgraderingsrekommendation, problemuppdelning (obligatorisk, potentiell, valfri), ansträngningsbedömning och mer.
  • Länkar till enskilda apprapporter för ökad detaljnivå när det behövs.

Felsökning av batchutvärdering

Vanliga problem

Fel vid åtkomst till lagringsplats:

  • Verifiera GitHub-autentisering med hjälp av gh auth status.
  • Kontrollera att du har åtkomst till alla lagringsplatser som anges i repos.json.

Klonfel:

  • Kontrollera att url:erna för lagringsplatsen är repos.json korrekta och tillgängliga.
  • Kontrollera att du har rätt åtkomstbehörigheter för alla lagringsplatser.
  • Kontrollera nätverksanslutningen och VPN-inställningarna.

Utvärderingsfel:

  • Kontrollera om lagringsplatsen innehåller giltiga Java- eller .NET-projekt.
  • Kontrollera att det finns byggfiler, till exempel pom.xml, build.gradle, *.csprojeller *.sln.
  • Granska felmeddelanden i konsolens utdata.

Problem med delegering av molnkodningsagent:

  • Kontrollera att du har rätt behörigheter för att skapa GitHub Actions-arbetsflöden.
  • Kontrollera GitHub Actions-behörigheter och kvotgränser för din organisation.
  • Kontrollera att Windows runner-konfigurationen är korrekt inställd för .NET Framework-appar.
  • Kontrollera mcp-serverkonfigurationen.

Nästa steg

När du har slutfört batchutvärderingen kan du:

Fortsätt moderniseringsarbetsflödet:

Läs mer:

Lämna feedback

Vi värdesätter dina indata! Om du har feedback om batchutvärdering eller moderniseringsagenten skapar du ett problem på github-copilot-appmod-lagringsplatsen eller använder feedbackformuläret för modernisering av GitHub Copilot.