Sdílet prostřednictvím


Dávkové hodnocení s agentem pro modernizaci GitHub Copilot

Dávkové hodnocení umožňuje současně analyzovat více aplikací a poskytuje komplexní přehled o prostředí modernizace napříč vašimi aplikacemi. Tento článek vás provede procesem efektivního vyhodnocení více úložišť.

Dávkové hodnocení je zvláště cenné pro plánování migrace, protože umožňuje efektivně posoudit připravenost a požadavky různých aplikací najednou. Pomocí dávkového hodnocení můžete současně vyhodnotit různá úložiště a získat podrobné sestavy hodnocení pro každou aplikaci. Vytváří dva druhy sestav k podpoře plánování migrace:

  • Zpráva za aplikaci: Poskytuje podrobné přehledy o všech problémech s modernizací identifikovaných na úrovni jednotlivých úložišť.
  • Agregovaná sestava: Představuje celkový pohled na všechny hodnocené aplikace, nabízí souhrnné přehledy, doporučení pro služby Azure, cílové platformy a cesty upgradu. Agregovaná sestava navíc obsahuje klávesové zkratky pro snadný přístup ke každé sestavě aplikace.

Dávkové hodnocení poskytuje následující výhody:

  • Viditelnost mezi aplikacemi:

    • Agregované sestavy: Získejte celkový přehled ve všech aplikacích.
    • Analýza mezi úložišti: Identifikace běžných vzorů a závislostí napříč aplikacemi
    • Přehledy stanovení priorit: Zjistěte, které aplikace vyžadují okamžitou pozornost.
  • 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 CI/CD pipelines pro plánované hodnocení.
    • Úspora času: Zkracujte celkovou dobu hodnocení od týdnů do hodin.

Předpoklady

Konfigurace úložišť

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

Ujistěte se, že máte správná oprávnění pro úložiště, nebo je rozvětvěte.

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

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 ve formátu 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 tento soubor automaticky rozpozná při spouštění dávkových operací.

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

K dispozici jsou dva režimy spuštění:

  • Místní spuštění: Agent modernizace zpracovává úložiště po druhém na místním počítači. Tento režim je nejvhodnější pro menší sadu aplikací nebo pro počáteční testování.
  • Delegování agenta pro kódování cloudu: Agent modernizace odesílá úlohy agentům GitHub Cloud Coding pro paralelní zpracování v cloudu. Tento režim je rychlejší pro scénáře s více úložišti.

Návod

Pomocí delegování agenta pro kódování cloudu povolíte paralelní spouštění ve všech úložištích. Tento přístup výrazně zkracuje celkovou dobu posouzení velkých portfolií.

Interaktivní režim (posouzení místně)

  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šť v terminálu.

  3. Vyberte úložiště, která chcete vyhodnotit, 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 navigujte a stiskněte Space, abyste vybrali jednotlivá úložiště.
  4. Vyberte 1. Posouzení aplikace z hlavní nabídky

    Snímek obrazovky Modernize CLI, který zobrazuje nabídku Modernize v terminálu.

  5. Pokud chcete spustit posouzení, zvolte buď posouzení místně, nebo delegovat na agenty cloudového kódování. Vyberte 1. Vyhodnoťte místně.

    Snímek obrazovky Modernize CLI, který zobrazuje nabídku posouzení v terminálu.

  6. Agent automaticky:

    • Naklonuje všechna vybraná úložiště.

    • Spustí posouzení na každém úložišti postupně.

    • Generuje individuální zprávy z hodnocení.

      Snímek obrazovky Modernize CLI zobrazující výstup generování zprávy jednotlivého hodnocení v terminálu.

    • Vytvoří agregovanou sestavu.

      Snímek obrazovky Modernize CLI, který zobrazuje výstup agregovaného generování sestavy v terminálu.

  7. Po dokončení posouzení agent automaticky otevře agregovanou sestavu.

    Snímek obrazovky Modernize CLI, který zobrazuje obsah agregované sestavy.

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

Nejprve nakonfigurujte agenty cloudového kódování v každém úložišti aplikací. Pokud chcete nakonfigurovat agenty cloudového kódování, rozvětvte ukázková úložiště.

Konfigurace pro aplikace .NET

Konfigurace spuštění ve Windows pro aplikace .NET Framework

Ve výchozím nastavení běží agent Copilot Coding v prostředí Ubuntu Linux. Pro aplikace .NET Framework potřebujete prostředí Systému Windows. Pokud ji chcete povolit, nakonfigurujte .github/workflows/copilot-setup-steps.yaml ji ve main větvi úložiště vaší aplikace, jak je znázorněno v následujícím příkladu:

# 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

Další informace: Přizpůsobení vývojového prostředí Copilotu pomocí kroků nastavení Copilotu

Zakázání brány firewall

Zakažte bránu firewall integrovanou v agentu Copilot pro kódování v nastavení úložiště, jak je ukázáno na obrázku níže.

Snímek obrazovky z GitHubu, který zobrazuje nastavení úložiště s nastavením brány firewall, které je nastaveno na Vypnuto.

Konfigurace pro aplikace v Javě

Nakonfigurujte server modernizace MCP GitHub Copilot v části Agent pro cloudové kódování v nastavení úložiště, jak je znázorněno v následujícím příkladu:

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

Snímek obrazovky GitHubu, který zobrazuje 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 vyhodnotit, 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 navigujte a stiskněte Space, abyste vybrali jednotlivá úložiště.
  4. Vyberte 1. Vyhodnoťte aplikace z hlavní nabídky.

    Snímek obrazovky Modernize CLI, který zobrazuje nabídku Modernize v terminálu.

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

    Snímek obrazovky Modernize CLI, který zobrazuje nabídku posouzení s vybranou volbou Delegate to Cloud Coding Agents.

  6. Agent automaticky deleguje úlohy hodnocení pro každé úložiště na agenty cloudového kódování a spouští je paralelně v cloudu.

    Snímek obrazovky Modernize CLI, který ukazuje výsledek průběhu delegování posouzení na Cloud Coding agenty v terminálu.

    Agent pak stáhne výsledky posouzení jednotlivých aplikací zpět do místního prostředí a místně vygeneruje agregovanou sestavu.

    Snímek obrazovky Modernize CLI, který zobrazuje agregační hodnotící sestavy v terminálu.

  7. Po dokončení posouzení agent automaticky otevře agregovanou sestavu.

Neinteraktivní režim (CLI)

Neinteraktivní režim můžete použít také tak, že zadáte přímo argumenty příkazu. Použijte příkaz modernize assess:

Místní posouzení:

modernize assess --multi-repo

Posouzení prostřednictvím cloudových kódovacích agentů:

modernize assess --delegate cloud

Další informace najdete v tématu vyhodnocení – příkazy rozhraní příkazového řádku.

Pochopení agregované sestavy

Agregovaná sestava poskytuje komplexní přehled o hodnocených aplikacích následujícím způsobem:

Dashboard

  • Snímek stavu portfolia: celkový počet aplikací, počet potřebných upgradů a agregované blokování a počty problémů
  • Distribuce technologií: jaké architektury se používají a kolik aplikací je sdílí.
  • Distribuce úsilí: zda je celková migrace malým nebo velkým podnikem.

Doporučení

  • Služby Azure: Mapuje aktuální závislosti na doporučené ekvivalenty Azure. Sdílené závislosti napříč aplikacemi se rozhodnou jednou, takže se vyhnete přepracování jednotlivých aplikací.
  • Cílová platforma: usměrňuje výběr hostingu, například mezi Container Apps a AKS, a odhaluje příležitosti ke konsolidaci.
  • Cesta upgradu: Identifikuje, které aplikace potřebují upgrady frameworku jako předpoklad, a odděluje upgrady od migrace.
  • Vlny migrace: aplikace sekvencuje podle připravenosti a rizika do fází. Tento přístup umožňuje předčasné výhry, zatímco těžší aplikace jsou připravené paralelně.

Matice posouzení aplikací

  • Rychlý přehled jednotlivých aplikací v aspektech architektury, cílové platformy, doporučení k upgradu, rozpisu problémů (povinné, potenciální, volitelné), nastavení velikosti úsilí a další.
  • Odkazy na jednotlivé sestavy aplikací pro podrobnější přístup k detailům při potřebě.

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

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 uvedeným v seznamu repos.json.

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í pro všechna úložiště.
  • Zkontrolujte připojení k síti a nastavení sítě VPN.

Selhání posouzení:

  • Zkontrolujte, jestli úložiště obsahuje platné projekty Java nebo .NET.
  • Ověřte, že existují soubory sestavení, například pom.xml, build.gradle, *.csprojnebo *.sln.
  • Zkontrolujte chybové zprávy ve výstupu konzoly.

Problémy s delegováním agenta pro cloudové kódování:

  • Ujistěte se, že máte správná oprávnění k vytváření pracovních postupů GitHub Actions.
  • Zkontrolujte oprávnění GitHub Actions a omezení kvót pro vaši organizaci.
  • U aplikací .NET Framework se ujistěte, že je správně nastavená konfigurace Spouštěče Windows.
  • Zkontrolujte konfiguraci serveru MCP.

Další kroky

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

Pokračujte v postupu modernizace:

Další informace:

Poskytnout zpětnou vazbu

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