Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
- Při delegování na cloudové agenty využijte paralelní spouště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í cloudových agentů 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
- Modernizace rozhraní příkazového řádku
- Dokončené dávkové hodnocení (doporučeno, ale není povinné).
- Všechna úložiště používají stejný programovací jazyk (Java nebo .NET).
- Přístup ke všem úložištím, která chcete upgradovat.
- Ověřování GitHub nakonfigurováno (
gh auth login).
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šť
Agent modernizace podporuje několik způsobů, jak určit úložiště, která chcete upgradovat:
- Aktuální složka: Upgradujte projekt v aktuálním pracovním adresáři.
- Ruční vstup: Zadejte cesty k místnímu adresáři nebo vzdálené adresy URL Gitu přímo.
- Konfigurační soubor úložiště: Použijte konfigurační soubor JSON, který obsahuje seznam všech úložišť.
Konfigurační soubor úložiště
Pro dávkové operace v mnoha úložištích vytvořte konfigurační soubor JSON pro výpis všech úložišť. Můžete ho například vytvořit v .github/modernize/repos.json pracovním adresáři nebo zadat vlastní cestu.
Návod
V případě ukázkových úložišť je nejprve vytvořte forkem a ujistěte se, že máte oprávnění správce delegovat úlohu na cloudové agenty.
Jednoduchý formát (pole úložišť):
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "ZavaSocialFrontEnd",
"url": "https://github.com/Azure-Samples/ZavaSocialFrontEnd"
}
]
Úplný formát (s větvemi a místními cestami):
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "local-project",
"path": "/absolute/path/to/project"
}
]
}
Každá položka úložiště podporuje následující pole:
| Pole | Description | Povinné |
|---|---|---|
name |
Přátelský název úložiště (používaný v sestavách a řídicích panelech) | Ano |
url |
Adresa URL pro klonování v Gitu ve formátu HTTPS nebo SSH | Jedna z url nebo path |
path |
Absolutní cesta k místnímu adresáři | Jedna z url nebo path |
branch |
Větev, na kterou se přepnout po klonování. | Ne |
description |
Popis čitelný pro člověka. | Ne |
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.
Agent modernizace automaticky rozpozná soubor repos.json na .github/modernize/repos.json, když vyberete možnost Z konfiguračního souboru v interaktivním režimu. Můžete také zadat vlastní cestu.
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ů.
- Podporuje: Jak Git URL, tak lokální cesta úložiště.
Delegování cloudového agenta
- Nejvhodnější pro: operace na podnikové úrovni, velké portfolia (5 a více úložišť) nebo paralelní zpracování.
- Pokud to funguje: Odesílá úlohy do GitHub cloudových agentů 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).
- Supports: Pouze úložiště s adresami URL GitHub (github.com). Místní cesty a poskytovatelé jiní než GitHub nejsou podporováni.
Důležité
Delegování cloudového agenta vyžaduje, aby repozitáře měly adresy URL repozitářů GitHub (github.com). Během převodu do cloudu se přeskočí úložiště, která jsou zadána s místními cestami nebo hostovaná u poskytovatelů jiných než GitHub (například GitLab, Azure DevOps). Pro tato úložiště použijte lokální spuštění.
Návod
Paralelním zpracováním úložišť může delegování cloudového agenta zkrátit celkovou dobu modernizace z hodin na minuty.
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→ vyberte Upgradovat (interaktivní, místní) -
modernize→ vyberte Upgrade>Delegovat na cloudové agenty (interaktivní, cloud) -
modernize upgrade "Java 21" --source ./repos.json(neinteraktivní, místní) -
modernize upgrade "Java 21" --source ./repos.json --delegate cloud(neinteraktivní, cloud)
Jak funguje hromadná aktualizace
Pracovní postup dávkového upgradu:
- detekce Language: Automaticky rozpozná jazyk projektu (Java nebo .NET) z prvního úložiště.
- Vytvoření plánu: Vytvoří plán upgradu na základě výzvy nebo používá nejnovější verze LTS.
- Provedení: Použije upgrade na každé úložiště.
- 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)
Spusťte agenta modernizace:
modernizeV hlavní nabídce vyberte Upgradovat .
○ How would you like to modernize your app? Assess Analyze modernization readiness across one or multiple applications Plan Generate a structured plan to guide the agent Execute Run the tasks defined in the modernization plan Or select a quick-start scenario: > Upgrade Upgrade runtimes and frameworks across one or multiple applicationsZvolte, jak zadat cílová úložiště. Vyberte Z konfiguračního souboru pro použití souboru
repos.json.○ Choose target repositories 1. Current folder /Users/username/project 2. Manual input Enter local path or remote URL > 3. From a config file /path/to/.github/modernize/repos.jsonNávod
Můžete také vybrat ruční vstup a zadat místní cesty nebo vzdálené adresy URL Gitu přímo nebo aktuální složku a upgradovat projekt v aktuálním adresáři.
repos.jsonPokud je soubor zjištěn ve výchozím umístění, agent ho automaticky vyplní. V opačném případě zadejte cestu ke konfiguračnímu souboru a stiskněte Enter.Ve výchozím nastavení jsou vybraná všechna úložiště. Zrušte výběr všech úložišť, která chcete přeskočit, a stisknutím klávesy Enter potvrďte výběr.
- Pomocí kláves se šipkami můžete procházet a stisknutím mezerník přepínat jednotlivá úložiště.
Zvolte režim provádění. Vyberte Upgradovat místně.
Zadejte výzvu k cíli upgradu (například
Java 21nebo.NET 10) nebo stiskněte Enter a přijměte výchozí (nejnovější verzi LTS).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šť.
Interaktivní režim (delegování na cloudové agenty)
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 Java přidejte tuto konfiguraci do části Cloud agent nastavení úložiště:
{
"mcpServers": {
"app-modernization": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"-y",
"@microsoft/github-copilot-app-modernization-mcp-server"
]
}
}
}
Kroky
Spusťte agenta modernizace:
modernizeV hlavní nabídce vyberte Upgradovat .
○ How would you like to modernize your app? Assess Analyze modernization readiness across one or multiple applications Plan Generate a structured plan to guide the agent Execute Run the tasks defined in the modernization plan Or select a quick-start scenario: > Upgrade Upgrade runtimes and frameworks across one or multiple applicationsZvolte, jak zadat cílová úložiště. Vyberte z konfiguračního souboru.
○ Choose target repositories 1. Current folder /Users/username/project 2. Manual input Enter local path or remote URL > 3. From a config file /path/to/.github/modernize/repos.jsonrepos.jsonPokud je soubor zjištěn ve výchozím umístění, agent ho automaticky vyplní. V opačném případě zadejte cestu ke konfiguračnímu souboru a stiskněte Enter.Ve výchozím nastavení jsou vybraná všechna úložiště. Zrušte výběr všech úložišť, která chcete přeskočit, a stisknutím klávesy Enter potvrďte výběr. Pomocí kláves se šipkami můžete procházet a stisknutím mezerník přepínat jednotlivá úložiště.
Zvolte režim provádění. Vyberte Delegovat na cloudové agenty.
Zadejte výzvu k cíli upgradu (například
Java 21) nebo stisknutím klávesy Enter přijměte výchozí hodnotu.Agent automaticky:
Vytvoří plány upgradu pro každé úložiště.
Odešle úlohu cloudového agenta 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ě.
Deleguje úlohy do AgentHQ k paralelnímu spuštění.
Sleduje průběh jednotlivých úkolů v reálném čase.
Zobrazí souhrn upgradu pro každý dokončený úkol.
Neinteraktivní režim (CLI)
Pro automatizaci a integraci CI/CD použijte modernize upgrade příkaz:
Místní upgrade pomocí konfiguračního souboru úložiště:
modernize upgrade "Java 21" --source .github/modernize/repos.json
Upgradujte více úložišť tak, že přímo zadáte zdroje:
modernize upgrade "Java 21" --source https://github.com/org/repo1 --source https://github.com/org/repo2
Upgrade pomocí cloudových agentů:
modernize upgrade "Java 21" --source .github/modernize/repos.json --delegate cloud
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:
Zkontrolujte souhrnnou zprávu zobrazenou v terminálu.
Kontrola změn jednotlivých úložišť:
cd <repository-name> git status git diffVytvoř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:
- Pomocí příkazu
gh auth statusověřte ověřování GitHub. - 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ě v
repos.jsonpouží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.jsonjsou 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í cloudového agenta:
- Zkontrolujte GitHub Actions oprávnění a omezení kvót.
- Pro .NET Framework se ujistěte, že je správně nastavená konfigurace spouštěče Windows.
Další kroky
Po dokončení dávkového upgradu můžete:
Pokračovat v vylepšování:
- Spusťte dávkové hodnocení – znovu posuďte, abyste ověřili vylepšení a identifikovali nové příležitosti.
- Vytvářejte vlastní dovednosti pro vzory specifické pro organizaci – Zachyťte úspěšné vzory pro opakované použití.
Další informace:
Poskytnout zpětnou vazbu
Vážíme si vašeho vstupu! Pokud máte zpětnou vazbu k dávkovému upgradu nebo agentovi modernizace, vytvořte issue v úložišti github-copilot-appmod nebo použijte formulář zpětné vazby na modernizaci GitHub Copilot.