Modernizace aplikací Java pomocí modernizace GitHub Copilot v rozhraní příkazového řádku Copilot

Tento článek obsahuje přehled o tom, jak můžou vývojáři Java modernizovat své aplikace pomocí modulu plug-in GitHub Copilot modernizace v Copilot CLI. Díky tomuto přístupu můžou vývojáři modernizovat aplikace bez ohledu na to, kde kódují. Modul plug-in poskytuje bezproblémové ucelené prostředí – od upgradu a migrace až po nasazení – pomáhá týmům urychlit transformaci, zvýšit produktivitu a s jistotou přesunout své aplikace na moderní platformy.

Snímek obrazovky příkazového řádku GitHub Copilot s modernizační výzvou GitHub Copilot.

Poznámka:

GitHub Copilot CLI je k dispozici v plánech GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business a GitHub Copilot Enterprise. Pokud obdržíte Copilot z organizace, musí být v nastavení organizace povolené zásady rozhraní příkazového řádku Copilot.

Pomocí rozhraní příkazového řádku Copilot pro modernizaci můžete spouštět úlohy modernizace přímo z terminálu, aniž byste museli přepnout do integrovaného vývojového prostředí (IDE). Tento přístup podporuje jak interaktivní, tak i dávkové pracovní postupy.

Co můžete dělat

Schopnost Description
Aktualizace Javy Upgrade verze Javy (8 → 11 → 17 → 21 → 25), migrace Spring Bootu z 2.x na 3.x, přechod z javax na jakarta a nahrazení zastaralých rozhraní API
Migrace do Azure Posouzení a migrace aplikací Java do služeb Azure (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, spravovaná identita)
CVE a oprava zranitelností Vyhledávání a oprava zranitelností CVE v závislostech nástroje Maven, včetně Log4j, Spring, Jackson a analýzy závislostí OWASP
Změna architektury aplikace Strukturální přepracování, jako je dekompozice monolitu na mikroslužby, modernizace zastaralého uživatelského rozhraní a vyčlenění modulů
Nasazení do Azure Nasazení upgradovaných nebo migrovaných aplikací Java přímo do Azure

Požadavky

Poznámka:

Účet Azure se vyžaduje jenom pro nasazení prostředků do Azure a není potřeba při použití GitHub Copilot modernizace k provádění změn kódu.

Instalace modulu plug-in

  1. Přidejte marketplace a nainstalujte modul plug-in:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  2. Ověřte, že je modul plug-in nainstalovaný, výpisem nainstalovaných modulů plug-in:

    /plugin list
    

    Měl by se zobrazit github-copilot-modernization@github-copilot-modernization v seznamu.

Tip

Pokud chcete modul plug-in aktualizovat, když je k dispozici nová verze, spusťte:

copilot plugin update github-copilot-modernization@github-copilot-modernization

Zahájení úlohy modernizace

Možnost 1: Začněte přímo s agentem

Přejděte do složky projektu Java a spusťte Copilot CLI pomocí agenta modernizace:

cd /path/to/your/java-app
copilot --agent=github-copilot-modernization:modernize

Možnost 2: Výběr agenta z rozhraní příkazového řádku Copilot

Pokud už jste v relaci Copilot CLI, pomocí příkazu /agent přepněte na agenta pro modernizaci:

/agent

Vyberte modernize ze seznamu.

Important

Před spuštěním výzev k modernizaci je nutné vybrat github-copilot-modernization:modernize agenta. Bez výběru agenta Copilot cli používá výchozího agenta, který nemůže používat úplnou orchestraci s více agenty a specializované možnosti migrace poskytované modulem plug-in.

Spusťte pokyn k modernizaci

Jakmile je agent aktivní, popište, co chcete v přirozeném jazyce:

modernize my application

Nebo být konkrétnější:

upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
fix CVE vulnerabilities in my project

Pro bezobslužné spuštění použijte --allow-all příznak:

copilot --agent=github-copilot-modernization:modernize --allow-all

Jak pracovní postup funguje

Modul plug-in používá třífázový pracovní postup, který se spouští automaticky. Každou fázi nemusíte volat ručně – orchestrátor zpracovává směrování na základě vašeho požadavku.

Fáze 1: Posouzení

  • Vyhledá aplikace Java v zadané cestě.
  • Analyzuje závislosti, architektury a Java verze.
  • Identifikuje příležitosti a rizika modernizace.
  • Uloží výsledky do .github/modernize/assessment/souboru .

Fáze 2: Plánování

  • Načte výsledky posouzení.
  • Vygeneruje spustitelný plán úlohy.
  • Uloží plán do .github/modernize/<app>/plan.md a tasks.json.

Fáze 3: Provádění

  • Směruje úlohy do specializovaných exekutorů na základě typu úlohy.
  • Každý vykonavatel vyhledává ve znalostní bázi migrační vzory.
  • Sleduje průběh s automatickým opakováním pokusu v případě selhání.
  • Vytvoří podrobné potvrzení jednotlivých úkolů pro kontrolu.

Orchestrátor podporuje více vstupních bodů v závislosti na vašem záměru:

Workflow Když se aktivuje Co se stane
Obecný záměr "modernizace aplikace" Kompletní proces posouzení → plánování → provedení
Konkrétní úkol Upgradovat na Javu 21 Přeskočí posouzení, přejde rovnou k plánování → provedení.
Spustit existující plán "execute the plan" (spustit plán) Přeskočí posouzení a plánování, spustí existující plán.
Bezobslužný Bezobslužné spuštění s využitím --allow-all Stejné jako u obecného záměru, ale bez uživatelských promptů

Obvyklé scénáře

Upgrade aplikace Java

Pokud chcete upgradovat aplikaci Java na novější verzi modulu runtime nebo architektury, použijte následující příklad:

copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2

Úloha modernizace se pak provede, včetně generování plánu upgradu, provádění nápravy kódu, sestavení projektu a kontroly ohrožení zabezpečení, jak je znázorněno na následujícím snímku obrazovky:

Screenshot GitHub Copilot CLI, který zobrazuje spuštěné úlohy ve scénářích upgradu Java.

Projekt je úspěšně upgradován na sadu JDK 21 a Spring Boot 3.2 a zobrazí se souhrn upgradu.

Snímek obrazovky GitHub Copilot CLI zobrazující souhrn aktualizace Java.

Migrace aplikace Java do Azure

Pokud chcete migrovat Java aplikaci na Azure, popište svůj scénář migrace, jak je znázorněno v následujícím příkladu. Další informace o předdefinovaných úlohách migrace najdete v sekci Předdefinované úlohy pro modernizaci s GitHub Copilot pro vývojáře v Javě.

copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage

Po zobrazení této výzvy se spustí úloha migrace a průběh se zobrazí v Copilot CLI.

Screenshot GitHub Copilot CLI, který zobrazuje spouštění úloh ve scénářích migrace Java.

Po úspěšné migraci projektu do Microsoft Azure Blob Storage se zobrazí souhrn migrace.

Screenshot GitHub Copilot CLI zobrazující souhrn migrace Java.

Nasazení aplikace Java do Azure

Po upgradu nebo migraci aplikace ji můžete nasadit přímo z rozhraní příkazového řádku Copilot pomocí následujícího příkladu:

copilot --agent=github-copilot-modernization:modernize
Scan my project and help me plan how to containerize my application using the #appmod-get-containerization-plan tool. Execute the plan. The end goal is to have Dockerfiles that are able to be built.

Po použití tohoto příkazu se spustí úloha nasazení a v rozhraní příkazového řádku Copilot se zobrazí její průběh.

Screenshot GitHub Copilot CLI s podrobnostmi o nasazení Java.

Po úspěšném nasazení projektu se zobrazí souhrn nasazení.

Snímek obrazovky GitHub Copilot CLI, který zobrazuje souhrn nasazení Java.

Řešení problémů

Modul plug-in nebyl nalezen.

# Verify marketplace is added
copilot plugin marketplace list

# Re-add the marketplace if needed
copilot plugin marketplace add microsoft/github-copilot-modernization

# Reinstall
copilot plugin install github-copilot-modernization@github-copilot-modernization

Posouzení selže: nenašla se žádná Java aplikace.

  • Ověřte, že pom.xml nebo build.gradle existuje v kořenové složce projektu.
  • Než spustíte Copilot CLI, ujistěte se, že jste ve správném adresáři.

Problémy se serverem MCP

Modul plug-in používá server MCP definovaný v jeho konfiguraci. Pokud narazíte na problémy, zkuste znovu nainstalovat modul plug-in a resetovat konfiguraci MCP.

Poskytnutí zpětné vazby

Pokud máte nějakou zpětnou vazbu k pluginu GitHub Copilot modernization, založte issue v repozitáři github-copilot-appmod.

Další krok