Java-alkalmazások modernizálása a Copilot parancssori felület GitHub Copilot modernizálásával

Ez a cikk áttekintést nyújt arról, hogy Java fejlesztők hogyan modernizálhatják alkalmazásaikat a GitHub Copilot modernizálás beépülő modul használatával a Copilot parancssori felület használatával. Ezzel a módszerrel a fejlesztők bárhol modernizálhatják az alkalmazásokat, ahol kódolnak. A beépülő modul zökkenőmentes, teljes körű élményt nyújt – a frissítéstől és a migrálástól az üzembe helyezésig –, segít a csapatoknak felgyorsítani az átalakítást, növelni a termelékenységet, és magabiztosan áthelyezni alkalmazásaikat a modern platformokra.

A GitHub Copilot parancssori felület képernyőképe, amely egy GitHub Copilot modernizációs parancssort jelenít meg.

Megjegyzés:

GitHub Copilot CLI a GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business és GitHub Copilot Enterprise csomagokkal érhető el. Ha Copilot kap egy szervezettől, a Copilot CLI-szabályzatot engedélyezni kell a szervezet beállításai között.

A modernizáláshoz Copilot parancssori felülettel közvetlenül a terminálról futtathat modernizálási feladatokat, és nem kell IDE-re váltania. Ez a megközelítés támogatja az interaktív - ember a hurokban - és kötegelt munkafolyamatokat is.

Mit lehet tenni

Capability Leírás
Java frissítés Java verzió frissítése (8 → 11 → 17 → 21 → 25), Spring Boot 2.x áttelepítése 3.x-re, javax át jakartára és elavult API-k
Azure-migrálás Java alkalmazások értékelése és migrálása Azure szolgáltatásokba (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, Managed Identity)
CVE és biztonsági rések javítása A CVE biztonsági réseinek vizsgálata és javítása a Maven-függőségekben, beleértve a Log4j, a Spring, a Jackson és az OWASP függőségelemzést
Alkalmazás újratervezése Szerkezeti átírások, például a monolit alkalmazás mikroszolgáltatásokra bontása, a régi felhasználói felület modernizálása és a modulok kinyerése
Üzembe helyezés az Azure-ban Frissített vagy migrált Java alkalmazások üzembe helyezése közvetlenül a Azure

Előfeltételek

Megjegyzés:

Egy Azure-fiók csak az erőforrások Azure-ba való üzembe helyezéshez szükséges, és nincs szükség a GitHub Copilot modernizációjára a kód módosításához.

A beépülő modul telepítése

  1. Adja hozzá a piacteret, és telepítse a beépülő modult:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  2. Ellenőrizze, hogy a beépülő modul telepítve van-e a telepített beépülő modulok listázásával:

    /plugin list
    

    Látnia kell a listában a(z) github-copilot-modernization@github-copilot-modernization elemet.

Jótanács

Ha frissíteni szeretné a beépülő modult, ha új verzió érhető el, futtassa a következőt:

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

Modernizálási feladat indítása

1. lehetőség: Kezdje közvetlenül az ügynökkel

Lépjen a Java projektmappába, és indítsa el Copilot parancssori felületét a modernizálási ügynökkel:

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

2. lehetőség: Válassza ki az ügynököt Copilot parancssori felületéről

Ha már Copilot CLI-munkamenetben van, a /agent paranccsal váltson a modernizálási ügynökre:

/agent

Válasszon modernize a listából.

Important

Bármilyen modernizálási prompt futtatása előtt ki kell választania az github-copilot-modernization:modernize ügynököt. Az ügynök kiválasztása nélkül Copilot parancssori felület az alapértelmezett ügynököt használja, amely nem tudja használni a beépülő modul által biztosított teljes többügynök-vezénylési és speciális migrálási képességeket.

Modernizálási kérés futtatása

Ha az ügynök aktív, írja le, hogy mit szeretne természetes nyelven:

modernize my application

Vagy konkrétabb:

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

Felügyelet nélküli végrehajtáshoz használja a következő jelölőt --allow-all :

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

Hogyan működik a munkafolyamat

A beépülő modul egy háromfázisú munkafolyamatot használ, amely automatikusan fut. Nem kell manuálisan meghívnia az egyes fázisokat – a vezénylő a kérés alapján kezeli az útválasztást.

1. fázis: Értékelés

  • Felderíti Java alkalmazásokat a megadott elérési úton.
  • Függőségeket, keretrendszereket és Java verziót elemez.
  • Azonosítja a modernizációs lehetőségeket és kockázatokat.
  • Az eredményeket a(z) .github/modernize/assessment/ helyre menti.

2. fázis: Tervezés

  • Betölti az értékelés eredményeit.
  • Végrehajtható tevékenységtervet hoz létre.
  • Mentse a tervet ide: .github/modernize/<app>/plan.md és tasks.json.

3. fázis: Végrehajtás

  • Feladatok átirányítása speciális végrehajtó ügynökökhöz feladattípus alapján.
  • Minden végrehajtó lekérdez egy tudásbázist a migrálási mintákhoz.
  • Figyeli az előrehaladást, és hiba esetén automatikusan újrapróbálkozik.
  • Részletes feladatonkénti véglegesítéseket hoz létre felülvizsgálatra.

Az orchesztrátor a céljától függően több belépési pontot támogat:

Workflow Amikor aktiválódik Mi történik?
Széles körű szándék "Az alkalmazás modernizálása" Teljes körű felmérés → tervezés → végrehajtási folyamat
Adott tevékenység "frissítés Java 21-re" Kihagyja az értékelést, azonnal megtervezi a → végrehajtását
Meglévő terv végrehajtása "a terv végrehajtása" Kihagyja az értékelést és a tervezést, futtat egy meglévő tervet
Felület nélküli Felügyelet nélküli végrehajtás a --allow-all Ugyanaz, mint a széles körű szándék felhasználói kérések nélkül

Gyakori forgatókönyvek

A Java alkalmazás frissítése

A Java alkalmazás újabb futtatókörnyezetre vagy keretrendszerverzióra való frissítéséhez használja az alábbi példát:

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

Ezután végrehajtja a modernizálási feladatot, beleértve a frissítési terv generálását, a kód szervizelését, a projekt elkészítését és a biztonsági rések keresését az alábbi képernyőképen látható módon:

A GitHub Copilot parancssori felület képernyőképe, amely a Java frissítési forgatókönyvekben futó feladatokat jeleníti meg.

A projekt JDK 21-re és Spring Boot 3.2-re való frissítése sikeresen megtörtént, és megjelenik a frissítés összegzése.

A GitHub Copilot parancssori felület képernyőképe, amely a Java frissítés összegzését jeleníti meg

A Java alkalmazás áttelepítése Azure

A Java alkalmazás Azure való migrálásához írja le a migrálási forgatókönyvet az alábbi példában látható módon. Az előre definiált migrálási feladatokról további információt a Predefined tasks for GitHub Copilot modernization for Java developers című témakörben talál.

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

Ezzel a kéréssel a rendszer végrehajtja az áttelepítési feladatot, és megjeleníti a folyamat előrehaladását Copilot parancssori felületen.

A GitHub Copilot parancssori felület képernyőképe, amely a Java migrálási forgatókönyvekben futó feladatokat jeleníti meg.

Ha a projekt sikeresen migrálva van a Microsoft Azure Blob Storage, megjelenik egy migrálási összegzés.

A GitHub Copilot parancssori felület képernyőképe, amely a Java migrálás összegzését mutatja

A Java alkalmazás üzembe helyezése a Azure

Az alkalmazás frissítése vagy migrálása után közvetlenül Copilot parancssori felületről telepítheti azt az alábbi példával:

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.

A parancssor használatával az üzembe helyezési feladat lefut, és megjeleníti az előrehaladást Copilot parancssori felületen.

A GitHub Copilot parancssori felület képernyőképe, amely a Java üzembe helyezés részleteit jeleníti meg.

A projekt sikeres üzembe helyezésekor megjelenik egy üzembe helyezési összegzés.

A GitHub Copilot parancssori felület képernyőképe, amely a Java üzembe helyezés összegzését jeleníti meg

Hibaelhárítás

A beépülő modul nem található

# 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

Az értékelés sikertelen: nem található Java alkalmazás

  • Ellenőrizze, hogy a projekt gyökérkönyvtárában létezik-e a(z) pom.xml vagy build.gradle.
  • Győződjön meg arról, hogy a megfelelő könyvtárban van, mielőtt elindítja a Copilot CLI-t.

MCP-kiszolgálóval kapcsolatos problémák

A beépülő modul a konfigurációjában meghatározott MCP-kiszolgálót használja. Ha problémákat tapasztal, próbálkozzon újra a beépülő modul újratelepítésével az MCP-konfiguráció alaphelyzetbe állításához.

Visszajelzés küldése

Ha bármilyen visszajelzése van a GitHub Copilot modernizálási beépülő modullal kapcsolatban, hozzon létre egy hibajegyet a github-copilot-appmod adattárban.

Következő lépés