Sdílet prostřednictvím


Provedení dávkového upgradu pomocí agenta modernizace nástroje GitHub Copilot

Batch upgrade umožňuje aplikovat konzistentní plány modernizace současně napříč několika úložišti. V tomto článku se dozvíte, jak efektivně upgradovat více aplikací v podnikovém měřítku.

Pomocí dávkového upgradu můžete:

  • Současně upgradujte více aplikací pomocí stejného cíle upgradu.
  • Použití konzistentních vzorů pomocí podobných vzorů upgradu napříč aplikacemi
  • Využijte paralelní spouštění při delegování na agenty cloudového kódování.

Upgrade služby Batch poskytuje následující výhody:

  • Konzistentní provádění:

    • Standardizovaný přístup: Použijte stejné vzory modernizace ve všech úložištích.
    • Omezená variabilita: Zajistěte konzistentní cesty upgradu pro podobné aplikace.
    • Opakovaně použitelné strategie: Používejte dovednosti specifické pro organizaci napříč aplikacemi.
  • Efektivita a škálování:

    • Paralelní zpracování: Použití agentů pro kódování cloudu ke zpracování více úložišť současně.
    • Automatizované pracovní postupy: Integrace s kanály CI/CD pro plánovanou modernizaci
    • Úspora času: Zkracujte celkovou dobu modernizace z týdnů na hodiny.

Předpoklady

Důležité

Všechna úložiště v dávkovém upgradu musí používat stejný programovací jazyk. Pokud úložiště používá jiný jazyk, upgrade dávky označí úložiště jako neúspěšné a přeskočí ho.

Konfigurace úložišť

Pokud chcete povolit dávkový upgrade, vytvořte v pracovním adresáři soubor se seznamem .github/modernize/repos.json všech úložišť, která chcete upgradovat.

Návod

V případě ukázkových úložišť je nejprve rozvětvujte a ujistěte se, že máte oprávnění správce delegovat úlohu na agenty pro kódování cloudu.

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

Konfigurace úložiště

Každá položka vyžaduje:

  • name: Uživatelsky přívětivý název úložiště (používaný v sestavách a dashboardech).
  • url: Adresa URL klonu Gitu (formát HTTPS).

Návod

Můžete zahrnout úložiště z různých organizací a používat různé metody ověřování, pokud máte přístup.

Umístění souboru

Soubor musíte umístit repos.json na .github/modernize/repos.json.

Agent modernizace automaticky rozpozná tento soubor při spouštění dávkových operací.

Volba režimu provádění

Upgrade služby Batch podporuje dva režimy spuštění a dvě metody interakce:

Režimy provádění

Místní spuštění

  • Nejvhodnější pro: Testování, menší sady úložišť (1–5 úložišť) nebo pokud dáváte přednost místnímu řízení.
  • Jak to funguje: Zpracovává úložiště postupně na místním počítači.
  • Vyžaduje se nastavení: Žádné nad rámec základních požadavků.

Delegování agenta cloudového kódování

  • Nejvhodnější pro: operace na podnikové úrovni, velké portfolia (5 a více úložišť) nebo paralelní zpracování.
  • Jak to funguje: Odesílá úlohy do agentů GitHub Cloud Coding pro paralelní spouštění v cloudu.
  • Vyžaduje se nastavení: Konfigurace serveru MCP v každém úložišti (nakonfigurovaná během instalace).

Návod

Paralelním zpracováním úložišť může delegování agenta cloudového kódování zkrátit celkovou dobu modernizace od hodin do minut.

Metody interakce

Interaktivní režim (TUI)

  • Řízená zkušenost s nabídkami a výzvami
  • Nejvhodnější pro první uživatele nebo pro kontrolu možností.
  • Podporuje místní i cloudové spouštění.

Neinteraktivní režim (rozhraní příkazového řádku nebo bezobsadové)

  • Plně automatizované založené na příkazovém řádku.
  • Nejvhodnější pro kanály CI/CD a automatizaci.
  • Podporuje místní i cloudové spouštění s příznakem --delegate cloud .

Poznámka:

Můžete kombinovat jakýkoli režim provádění s libovolnou metodou interakce. Například:

  • modernize (interaktivní, místní)
  • modernize → vybrat agenty cloudového kódování (interaktivní, v cloudu)
  • modernize upgrade "Java 21" (neinteraktivní, místní)
  • modernize upgrade "Java 21" --delegate cloud (neinteraktivní, cloud)

Jak funguje hromadná aktualizace

Pracovní postup dávkového upgradu:

  1. Rozpoznávání jazyka: Automaticky rozpozná jazyk projektu (Java nebo .NET) z prvního úložiště.
  2. Vytvoření plánu: Vytvoří plán upgradu na základě výzvy nebo používá nejnovější verze LTS.
  3. Provedení: Použije upgrade na každé úložiště.
  4. Ověření: Sestaví a ověří změny pro každé úložiště.

Spuštění dávkového upgradu

Jakmile nakonfigurujete úložiště a zvolíte režim spuštění, spusťte dávkový upgrade.

Interaktivní režim (lokální upgrade)

  1. Spusťte agenta modernizace:

    modernize
    
  2. Agent zjistí repos.json soubor a zobrazí seznam úložišť:

    Snímek obrazovky Modernize CLI, který zobrazuje seznam úložišť k výběru v terminálu.

  3. Vyberte úložiště, která chcete upgradovat, a stisknutím Enter potvrďte výběr.

    • Stiskněte Ctrl+A a vyberte všechna úložiště.
    • Pomocí kláves se šipkami můžete navigovat a stisknutím vybrat jednotlivá úložiště.
  4. Vyberte 2. Upgrade z hlavní nabídky

    Snímek obrazovky Modernize CLI, který zobrazuje možnost nabídky Upgrade Runtime & Framework v terminálu.

  5. Pokud chcete upgrade spustit, vyberte 1. Upgradujte místně.

    Snímek obrazovky Modernize CLI, která zobrazuje možnost „Lokální upgrade“ v terminálu.

  6. Agent automaticky:

    • Vytvoří plán upgradu na základě vaší žádosti.
    • Plán se použije pro každé úložiště postupně.
    • Sestaví a ověří každé úložiště po změnách.
    • Zobrazí průběh a souhrn jednotlivých úložišť.

    Snímek obrazovky s modernizací rozhraní příkazového řádku, který ukazuje průběh upgradu pro každé úložiště v terminálu

Interaktivní režim (delegování na agenty cloudového kódování)

Požadavky: Konfigurace serveru MCP

Před spuštěním upgradu nakonfigurujte GitHub Copilot Modernization MCP Server v každém úložišti.

Pro aplikace v Javě přidejte tuto konfiguraci v části Agent pro kódování cloudu v nastavení úložiště:

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

Snímek obrazovky GitHubu, který zobrazuje podokno nastavení agenta kódování úložiště se zvýrazněnou částí konfigurace MCP

Kroky

  1. Spusťte agenta modernizace:

    modernize
    
  2. Agent zjistí repos.json soubor a zobrazí seznam úložišť:

    Snímek obrazovky nástroje Modernize CLI, který zobrazuje seznam úložišť v terminálu.

  3. Vyberte úložiště, která chcete upgradovat, a stisknutím Enter potvrďte výběr.

    • Stiskněte Ctrl+A a vyberte všechna úložiště.
    • Pomocí kláves se šipkami můžete navigovat a stisknutím vybrat jednotlivá úložiště.
  4. Vyberte 2. Upgrade z hlavní nabídky

  5. Pokud chcete upgrade spustit, vyberte 2. Delegujte na agenty cloudového kódování.

    Snímek obrazovky Modernize CLI, který zobrazuje možnost Delegovat na agenty cloudového kódování v terminálu

  6. Agent automaticky:

    • Vytvoří plány upgradu pro každé úložiště.

    • Odesílá úlohu agenta pro cloudové kódování pro každé úložiště.

    • Spouští úlohy nezávisle na sobě paralelně v cloudu.

    • Zobrazí ID úloh a adresy URL žádostí o přijetí změn pro každé úložiště.

      Snímek obrazovky s modernizací rozhraní příkazového řádku, který ukazuje průběh delegování upgradů na agenty cloudového kódování v terminálu

    • Deleguje úlohy do AgentHQ k paralelnímu spuštění.

      Snímek obrazovky GitHubu, který zobrazuje podokno Agenti s úlohami upgradu delegovanými na AgentHQ

    • Sleduje průběh jednotlivých úkolů v reálném čase.

      Snímek obrazovky GitHubu, který zobrazuje podokno Agenti s sledováním průběhu jednotlivých úloh upgradu agenta cloudového kódování

    • Zobrazí souhrn upgradu pro každý dokončený úkol.

      Snímek obrazovky GitHubu, který zobrazuje podokno Agenti se souhrnem upgradu pro jednotlivé úlohy agenta cloudového kódování

Neinteraktivní režim (CLI)

Pro automatizaci a integraci CI/CD použijte modernize upgrade příkaz:

Místní upgrade:

modernize upgrade "Java 21"

Upgrade pomocí agentů pro kódování cloudu:

modernize upgrade "Java 21" --delegate cloud

Příkaz automaticky rozpozná repos.json soubor a zpracuje všechna úložiště.

Poznámka:

Informace o dávkovém bezhlavém spuštění a dalších možnostech rozhraní příkazového řádku najdete v části Konfigurace více úložišť v referenční příručce příkazů CLI.

Kontrola výsledků

Po dokončení hromadné aktualizace:

  1. Zkontrolujte souhrnnou zprávu zobrazenou v terminálu.

  2. Kontrola změn jednotlivých úložišť:

    cd <repository-name>
    git status
    git diff
    
  3. Vytvořte pull requesty pro úspěšné upgrady:

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

Řešení potíží s dávkovými upgrady

Běžné problémy

Chyby přístupu k úložišti:

  • Ověřte autentizaci GitHubu pomocí gh auth status.
  • Ujistěte se, že máte přístup ke všem úložištím v adresáři repos.json.

Chyby neshod jazyka:

  • Ujistěte se, že všechna úložiště repos.json používají stejný jazyk (Java nebo .NET).
  • Vytvořte samostatné dávkové operace pro různé jazyky.

Selhání klonování:

  • Ověřte, že adresy URL úložiště v repos.json jsou správné a přístupné.
  • Ujistěte se, že máte správná přístupová oprávnění ke všem úložištím.
  • Zkontrolujte připojení k síti a nastavení sítě VPN.

Selhání sestavení po upgradu:

  • Zkontrolujte chybové zprávy sestavení v agregovaném reportu.
  • Zkontrolujte, jestli potřebujete aktualizovat další závislosti.
  • Ověřte kompatibilitu knihoven třetích stran s novou verzí.

Selhání jednotlivých úložišť:

  • Dávkový proces pokračuje i v případě selhání jednotlivých úložišť.
  • Zkontrolujte agregovanou sestavu a identifikujte neúspěšná úložiště.
  • Zkontrolujte v protokolech chyb konkrétní chybové zprávy.
  • Opakujte neúspěšná úložiště jednotlivě.

Selhání agenta cloudového kódování:

  • Zkontrolujte oprávnění GitHub Actions a omezení kvót.
  • V rozhraní .NET Framework se ujistěte, že je správně nastavená konfigurace Windows Runneru.

Další kroky

Po dokončení dávkového upgradu můžete:

Pokračovat v vylepšování:

Další informace:

Poskytnout zpětnou vazbu

Vážíme si vašeho vstupu! Pokud máte zpětnou vazbu k dávkovému upgradu nebo agentu modernizace, vytvořte problém v úložišti github-copilot-appmod nebo použijte formulář zpětné vazby ke Github Copilot modernizaci.