Dela via


Batchuppgradering med GitHub Copilot-moderniseringsagenten

Med batchuppgradering kan du tillämpa konsekventa moderniseringsplaner på flera lagringsplatser samtidigt. Den här artikeln visar hur du uppgraderar flera program effektivt i företagsskala.

Genom att använda batchuppgradering kan du:

  • Uppgradera flera program samtidigt med samma uppgraderingsmål.
  • Använd konsekventa mönster med hjälp av liknande uppgraderingsmönster i olika program.
  • Utnyttja parallell körning när du delegerar till molnkodningsagenter.

Batch-uppgradering ger följande fördelar:

  • Konsekvent utförande

    • Standardiserad metod: Använd samma moderniseringsmönster på alla lagringsplatser.
    • Minskad variabilitet: Säkerställ konsekventa uppgraderingsvägar för liknande program.
    • Återanvändbara strategier: Använd organisationsspecifika kunskaper i olika program.
  • 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 modernisering.
    • Tidsbesparingar: Minska den totala moderniseringstiden från veckor till timmar.

Förutsättningar

  • Modernisera CLI.
  • En slutförd batchutvärdering (rekommenderas men krävs inte).
  • Alla lagringsplatser använder samma programmeringsspråk (Java eller .NET).
  • Åtkomst till alla lagringsplatser som du vill uppgradera.
  • GitHub-autentisering konfigurerad (gh auth login).

Viktigt!

Alla lagringsplatser i en batchuppgradering måste använda samma programmeringsspråk. Om en lagringsplats använder ett annat språk markerar batchuppgradering lagringsplatsen som misslyckad och hoppar över den.

Konfigurera lagringsplatser

Om du vill aktivera batchuppgradering skapar du en .github/modernize/repos.json fil i arbetskatalogen som visar alla lagringsplatser som du vill uppgradera.

Tips/Råd

För exempellagringsplatser förgrenar du dem först och kontrollerar att du har administratörsbehörighet för att delegera jobbet till Molnkodningsagenter.

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

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 (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 batchåtgärder körs.

Välj körningsläge

Batch-uppgradering stöder två körningslägen och två interaktionsmetoder:

Körningslägen

Lokal körning

  • Bäst för: Testning, mindre uppsättningar lagringsplatser (1–5 lagringsplatser) eller när du föredrar lokal kontroll.
  • Så här fungerar det: Bearbetar lagringsplatser sekventiellt på din lokala dator.
  • Konfigurering krävs: Ingen utöver de grundläggande förutsättningarna.

Delegering av molnkodningsagent

  • Bäst för: Åtgärder i företagsskala, stora portföljer (5+ lagringsplatser) eller parallell bearbetning.
  • Så här fungerar det: Skickar uppgifter till GitHub Cloud Coding Agents för parallell körning i molnet.
  • Installation krävs: MCP-serverkonfiguration på varje lagringsplats (konfigurerad under installationen).

Tips/Råd

Genom att bearbeta lagringsplatser parallellt kan Cloud Coding Agent-delegering minska den totala moderniseringstiden från timmar till minuter.

Interaktionsmetoder

Interaktivt läge (TUI)

  • Guidad upplevelse med menyer och uppmaningar.
  • Bäst för förstagångsanvändare eller när du vill granska alternativ.
  • Stöder både lokal körning och molnkörning.

Icke-interaktivt läge (CLI/huvudlöst)

  • Kommandoradsbaserad, helt automatiserad.
  • Bäst för CI/CD-leveranskedjor och automatisering.
  • Stöder både lokal körning och molnkörning med --delegate cloud flagga.

Anmärkning

Du kan kombinera valfritt körningsläge med valfri interaktionsmetod. Som exempel:

  • modernize (interaktiv, lokal)
  • modernize → välja Molnkodningsagenter (interaktiva, moln)
  • modernize upgrade "Java 21" (icke-interaktiv, lokal)
  • modernize upgrade "Java 21" --delegate cloud (icke-interaktivt, moln)

Så här fungerar batchuppgradering

Arbetsflödet för batchuppgradering:

  1. Språkidentifiering: Identifierar automatiskt projektspråket (Java eller .NET) från den första lagringsplatsen.
  2. Skapa plan: Skapar en uppgraderingsplan baserat på din fråga eller använder de senaste LTS-versionerna.
  3. Körning: Tillämpar uppgraderingen på varje lagringsplats.
  4. Validering: Skapar och validerar ändringar för varje lagringsplats.

Kör batchuppgradering

När du har konfigurerat dina lagringsplatser och valt ett körningsläge startar du batchuppgradering.

Interaktivt läge (uppgradera lokalt)

  1. Kör moderniseringsagenten:

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

    Skärmbild av Modernisera CLI som visar listan Välj lagringsplatser i terminalen.

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

    • Tryck Ctrl+A för att välja alla lagringsplatser.
    • Eller använd piltangenterna för att navigera och trycka Enter på för att välja enskilda lagringsplatser.
  4. Välj 2. Uppgradera från huvudmenyn.

    Skärmbild av Modernisera CLI som visar menyalternativet Upgrade Runtime &Framework i terminalen.

  5. Om du vill köra uppgraderingen väljer du 1. Uppgradera lokalt.

    Skärmbild av Modernisera CLI som visar alternativet Uppgradera lokalt i terminalen.

  6. Agenten utför automatiskt följande:

    • Skapar en uppgraderingsplan baserat på din begäran.
    • Tillämpar planen på varje lagringsplats sekventiellt.
    • Skapar och validerar varje lagringsplats efter ändringar.
    • Visar förlopp och sammanfattning för varje lagringsplats.

    Skärmbild av Modernisera CLI som visar uppgraderingsförloppet för varje lagringsplats i terminalen.

Interaktivt läge (delegera till molnkodningsagenter)

Förutsättningar: Konfigurera MCP-server

Innan du kör uppgraderingen konfigurerar du GitHub Copilot Modernization MCP Server på varje lagringsplats.

För Java-program lägger du till den här konfigurationen i avsnittet Cloud Coding Agent i lagringsplatsens inställningar:

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

Skärmbild av GitHub som visar inställningsfönstret för lagringsplatsen Kodningsagent 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 uppgradera och tryck Enter på för att bekräfta ditt val.

    • Tryck Ctrl+A för att välja alla lagringsplatser.
    • Eller använd piltangenterna för att navigera och trycka Enter på för att välja enskilda lagringsplatser.
  4. Välj 2. Uppgradera från huvudmenyn.

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

    Skärmbild av Modernisera CLI som visar menyalternativet Delegera till molnkodningsagenter i terminalen.

  6. Agenten utför automatiskt följande:

    • Skapar uppgraderingsplaner för varje lagringsplats.

    • Skickar ett Cloud Coding Agent-jobb för varje lagringsplats.

    • Kör jobb separat parallellt i molnet.

    • Visar jobb-ID:er och PR-URL:er för varje lagringsplats.

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

    • Delegerar uppgifter till AgentHQ för att köra parallellt.

      Skärmbild av GitHub som visar fönstret Agenter med uppgraderingsuppgifterna delegerade till AgentHQ.

    • Spårar förloppet för varje enskild aktivitet i realtid.

      Skärmbild av GitHub som visar fönstret Agenter med förloppsspårning för enskilda uppgraderingsuppgifter för Molnkodningsagent.

    • Visar uppgraderingssammanfattning för varje slutförd uppgift.

      Skärmbild av GitHub som visar fönstret Agenter med uppgraderingssammanfattningen för enskilda Cloud Coding Agent-uppgifter.

Icke-interaktivt läge (CLI)

Använd kommandot för automatisering och CI/CD-integrering modernize upgrade :

Uppgradera lokalt:

modernize upgrade "Java 21"

Uppgradera med hjälp av molnkodningsagenter:

modernize upgrade "Java 21" --delegate cloud

Kommandot identifierar repos.json automatiskt filen och bearbetar alla lagringsplatser.

Anmärkning

För körning i batchläge utan användargränssnitt och fler CLI-alternativ, se avsnittet Konfiguration för flera arkiv i CLI-kommandoreferensen.

Granska resultat

När batchuppgradningen är klar:

  1. Kontrollera den aggregerade rapporten som visas i terminalen.

  2. Granska ändringar i enskilda kodförråd:

    cd <repository-name>
    git status
    git diff
    
  3. Skapa pull-begäranden för lyckade uppgraderingar:

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

Felsökning för batchuppgraderingar

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 i repos.json.

Språkmatchningsfel:

  • Kontrollera att alla lagringsplatser i repos.json använder samma språk (Java eller .NET).
  • Skapa separata batchåtgärder för olika språk.

Klonfel:

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

Byggfel efter uppgradering:

  • Granska byggfelmeddelanden i den aggregerade rapporten.
  • Kontrollera om du behöver uppdatera andra beroenden.
  • Kontrollera kompatibiliteten för bibliotek från tredje part med den nya versionen.

Fel på enskilda lagringsplatser:

  • Batchprocessen fortsätter även om enskilda lagringsplatser misslyckas.
  • Granska den aggregerade rapporten för att identifiera misslyckade lagringsplatser.
  • Kontrollera om det finns specifika felmeddelanden i felloggarna.
  • Försök igen med att återställa misslyckade repositories individuellt.

Fel i Cloud Coding Agent:

  • Kontrollera Behörigheter och kvotgränser för GitHub Actions.
  • För .NET Framework kontrollerar du att Windows runner-konfigurationen är korrekt inställd.

Nästa steg

När du har slutfört batchuppgraderingen kan du:

Fortsätt att förbättra:

Läs mer:

Lämna feedback

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