Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Batch-értékelés lehetővé teszi Java, .NET és JavaScript/TypeScript alkalmazások portfóliójának egyetlen futtatásban történő elemzését. Átfogó képet kaphat az alkalmazások modernizációs tájáról. Ez a cikk végigvezeti a több adattár hatékony értékelésének folyamatán. A folyamat támogatja az egynyelvű adattárakat és a mono-adattárakat, amelyek Java, .NET és JavaScript/TypeScript-projektek kombinációját tartalmazzák.
Minden alkalmazás két egymást kiegészítő sáv mentén van elemezve. A probléma vizsgálata megkeresi a kijavítandó problémákat. Kódbázis-ismeretek ismertetik, hogyan épül fel az alkalmazás, hogy ennek megfelelően tudjon tervezni.
Probléma vizsgálata
A problémakeresés három tartomány modernizációs és biztonsági problémáit észleli. A nyelvi lefedettség tartományonként eltérő:
- Frissítés – futtatókörnyezet és keretrendszer verzióelemzése. Lefedi a Java és a .NET platformot.
- Cloud Readiness – Azure célplatform-illesztési és migrálási problémák. Lefedi a Java-t és a .NET-et.
- Biztonság – CVE-vizsgálat közvetlen és tranzitív függőségek között, valamint ISO 5055-vezérelt CWE biztonsági problémák. Java jelenleg csak; .NET és JavaScript/TypeScript támogatás szerepel az ütemtervben.
Codebase-elemzések
A Codebase Insights az egyes alkalmazások felépítését dokumentálja. Ezek Java, .NET és JavaScript/TypeScript projektekhez készültek. Ezek akkor lesznek felszínre, ha a Teljes elemzés lehetőséget választja az Analysis Coverage beállításban.
- Architektúra – magas szintű architektúradiagram rétegzéssel, modulhatárokkal, futtatókörnyezeti topológiával és belépési pontokkal.
- API-szerződések – Az alkalmazás által közzétett vagy használt REST-, gRPC-, üzenetsor- és webhook-felületek. Felméri az integráció hatókörét a migrálás előtt.
- Konfiguráció – konfigurációs fájlok, környezeti változók, funkciójelzők, kapcsolati sztringek és titkos kódok. A titkos kulcsok és konfigurációk áttelepítését Azure Key Vault és Azure App Configuration hajtja.
- Üzleti munkafolyamatok – kódból rekonstruált teljes körű funkcionális folyamatok (például rendelési → tartalék → fizetési → teljesítése). Rögzíti a regresszió hatókörét és az érdekelt felek közötti kommunikációt.
- Függőségek – közvetlen és tranzitív kódtárak, SDK-k és rögzített verziójú illesztőprogramok. Táplálja Azure szolgáltatásleképezést, és EOL- vagy bétacsapokat jelenít meg.
- Adatmodell – adatbázisok, sémák, fő entitások és kapcsolatok ORM-leképezésekből és DDL-ből. Az adatrétegek migrálásának tervezését vezérli.
Reports
A Batch-értékelés különösen hasznos a migrálás megtervezéséhez, mivel lehetővé teszi a különböző alkalmazások felkészültségének és követelményeinek hatékony értékelését. A batch assessment használatával egyszerre értékelhet ki különböző adattárakat, és részletes értékelési jelentéseket szerezhet be az egyes alkalmazásokhoz. Kétféle jelentést készít a migrálás megtervezésének támogatásához:
- Tárházonkénti jelentés: Részletes elemzéseket nyújt az egyes adattárak szintjén azonosított két aspektusról.
- Aggregated report: Az összes értékelt alkalmazás átfogó perspektíváját mutatja be, amely összefoglaló elemzéseket, javaslatokat kínál a Azure szolgáltatásokra, a célplatformokra, a frissítési útvonalakra, a migrálási stratégiákra és a migrálási hullámokra vonatkozóan. Az összesített jelentés emellett billentyűparancsokat is tartalmaz az adattárak jelentéseinek egyszerű eléréséhez.
A Batch-értékelés a következő előnyöket nyújtja:
Alkalmazások közötti láthatóság:
- Összesített jelentések: Átfogó nézet lekérése az alkalmazások között.
- Tárházközi elemzés: Azonosítsa az alkalmazások gyakori mintáit és függőségeit.
- Rangsorolási megállapítások: Annak megismerése, hogy mely alkalmazásokra van szükség azonnali figyelmet igényel.
Skálázás és hatékonyság:
- Párhuzamos feldolgozás: Több adattár egyidejű feldolgozásához használjon felhőügynököket.
- Automatizált munkafolyamatok: Integráció CI-/CD-folyamatokkal ütemezett értékeléshez.
- Időmegtakarítás: A teljes értékelési idő csökkentése hetekről órákra.
Előfeltételek
- A parancssori felület modernizálása.
- Hozzáférés az összes értékelni kívánt adattárhoz.
- GitHub hitelesítés konfigurálva van (
gh auth login).
Adattárak konfigurálása
A modernizálási ügynök több módszert is támogat az értékelni kívánt adattárak megadására:
- Aktuális mappa: A projekt áttekintése az aktuális munkakönyvtárban.
- Manuális bevitel: Adja meg közvetlenül a helyi címtár elérési útjait vagy a távoli Git URL-címeket.
- Adattár konfigurációs fájlja: Használjon egy JSON konfigurációs fájlt, amely felsorolja az összes adattárat.
Adattár konfigurációs fájlja
Több adattárban végzett kötegelt műveletekhez hozzon létre egy JSON-konfigurációs fájlt az összes adattár listázásához. Például létrehozhatja a munkakönyvtárban .github/modernize/repos.json, vagy megadhat egy adott útvonalat.
Győződjön meg arról, hogy rendelkezik a megfelelő engedélyekkel az adattárakhoz vagy elágazásokhoz.
Egyszerű formátum (adattárak tömbje):
[
{
"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"
}
]
Teljes formátum (elágazással és helyi elérési utakkal):
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "local-project",
"path": "/absolute/path/to/project"
}
]
}
Minden adattárbejegyzés a következő mezőket támogatja:
| szakterület | Leírás | Szükséges |
|---|---|---|
name |
Az adattár rövid neve (a jelentésekben és irányítópultokon használatos). | Igen |
url |
Git-klón URL HTTPS vagy SSH formátumban. | Egy vagy több urlpath |
path |
Abszolút helyi könyvtár elérési útja. | Egy vagy több urlpath |
branch |
Klónozás után kiválasztandó ág. | No |
description |
Ember által olvasható leírás. | No |
Teljes formátum alkalmazáscsoportozással (nem kötelező, szervezett jelentéskészítéshez):
Egy szakaszt apps[] hozzáadhat az adattárak logikai alkalmazásokba való csoportosításához. Az alkalmazások definiálásakor az összesített jelentés alkalmazásonként rendszerezi az eredményeket, és támogatja a jelentések külső célhelyekre való terjesztését.
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
],
"apps": [
{
"identifier": "photo-app",
"description": "Photo management application",
"repos": ["PhotoAlbum-Java"],
"output": {
"type": "local",
"path": "/path/to/reports/photo-app"
}
}
]
}
Minden alkalmazásbejegyzés támogatja a következőket:
| szakterület | Leírás | Szükséges |
|---|---|---|
identifier |
Az alkalmazás egyedi megjelenítendő neve. | Igen |
description |
Ember által olvasható leírás. | No |
repos |
Az alkalmazáshoz tartozó adattárnevek listája. | Igen |
output |
Az alkalmazás értékelési jelentésének terjesztése a létrehozás után. | No |
A output mező a következő terjesztési típusokat támogatja:
| Típus | Leírás | Kötelező mezők |
|---|---|---|
local |
Jelentések másolása egy helyi könyvtárba. | path |
git |
Jelentések leküldése Egy Git-adattárba. Az URL-formátum a következő https://github.com/org/repo.git#branch:path: . |
url |
Jótanács
Különböző szervezetek adattárait is felveheti, és különböző hitelesítési módszereket használhat, amíg hozzáféréssel rendelkezik.
A modernizációs ügynök automatikusan észleli a repos.json fájlt a .github/modernize/repos.json helyen, amikor az Konfigurációs fájlból lehetőséget választja interaktív módban. Egyéni elérési utat is megadhat.
Kötegelt értékelés futtatása
Két végrehajtási mód érhető el:
- Helyi végrehajtás: A modernizálási ügynök egymás után dolgozza fel az adattárakat a helyi gépen. Ez a mód kisebb alkalmazásokhoz vagy kezdeti teszteléshez működik a legjobban. Támogatja a Git URL-címét és a helyi elérési utak adattárait is.
- Felhőügynök delegálása: A modernizálási ügynök feladatokat küld GitHub Copilot felhőbeli ügynököknek párhuzamos feldolgozás céljából a felhőben. Ez a mód gyorsabb a több adattárral történő forgatókönyvekhez.
Fontos
A felhőügynök-delegáláshoz az adattáraknak GitHub (github.com) adattár URL-címekkel kell rendelkezniük. A helyi elérésiút-adattárak és a nem GitHub szolgáltatók (GitLab, Azure DevOps) nem támogatottak a felhődelegáláshoz. Használjon helyi végrehajtást ezekhez az adattárakhoz.
Jótanács
A felhőügynök-delegálás használatával minden adattárban engedélyezheti a párhuzamos végrehajtást. Ez a megközelítés jelentősen csökkenti a nagy portfóliók teljes értékelési idejét.
Interaktív mód (helyi értékelés)
Futtassa a modernizálási ügynököt:
modernizeVálassza az Értékelés lehetőséget a főmenüben.
Adja meg a céladattárak megadásának módját. Válassza a Konfigurációs fájlból lehetőséget egy
repos.jsonfájl használatához.Jótanács
A Manuális bemenet lehetőséget választva közvetlenül megadhat helyi útvonalakat vagy távoli Git URL-címeket, vagy az Aktuális mappát a projekt aktuális könyvtárban való értékeléséhez.
Ha a
repos.jsonfájl az alapértelmezett helyen van észlelve, az ügynök automatikusan kitölti azt. Ellenkező esetben adja meg a konfigurációs fájl elérési útját, és nyomja le az Enter billentyűt.Alapértelmezés szerint minden adattár ki van jelölve. Törölje a kihagyni kívánt adattárak kijelölését, majd nyomja le az Enter billentyűt a kijelölés megerősítéséhez.
- A nyílbillentyűkkel navigálhat, és a Szóköz billentyűt lenyomva válthat az egyes adattárak között.
Válassza ki az elemezni kívánt értékelési tartományokat. Upgrade és Cloud-készültség Java és .NET-projekteken futnak az adattárban. Security alapértelmezés szerint nincs bejelölve, és csak Java projekteken fut; jelölje ki a CVE biztonsági réseinek és az ISO 5055 által irányított CWE-problémák kereséséhez.
Tekintse át és konfigurálja az értékelési beállításokat. A konfigurációs lapon nyelv és tartomány szerint csoportosított beállítások láthatók:
-
Általános/ elemzési lefedettség:
- Csak probléma (alapértelmezett): A forráskód modernizációs és biztonsági problémáit észleli. Leggyorsabb lehetőség.
- Teljes elemzés: Észleli a problémákat, és emellett kódbázis-elemzéseket hoz létre az alkalmazás hat aspektusában – architektúra, API-szerződések, konfiguráció, üzleti munkafolyamatok, függőségek és adatmodell. Hosszabb ideig fut, mint a csak hibákra korlátozódó elemzés.
- Java/UPGRADE: Cél futtatókörnyezet (OpenJDK 11, 17, 21 vagy 25).
- Java/FELHŐKÉSZség: Cél Compute Szolgáltatások, Cél Operációs Rendszer és Konténerizáció.
-
Java/ SECURITY: A CVE minimális súlyossága (
low,medium,high,critical; alapértelmezetthigh). Az alacsonyabb súlyossági értékek további megállapításokat tartalmaznak. (A biztonsági tartomány jelenleg Java-csak.) - .NET/UPGRADE: Target Framework (.NET 8, 9 vagy 10).
- .NET/FELHŐ KÉSZENLÉT: Célzott Számítási Szolgáltatások.
A nyílbillentyűkkel navigálhat, az Enter billentyűt lenyomva módosíthatja az értéket, vagy a Folytatás gombra kattintva folytathatja az aktuális beállításokat.
Jótanács
Az ajánlott alapértelmezett értékek a legtöbb forgatókönyv esetében működnek. Ezeket a beállításokat csak akkor kell módosítania, ha meghatározott követelményekkel rendelkezik, például egy adott JDK-verzió, egy adott Azure számítási szolgáltatás vagy egy másik CVE súlyossági küszöbérték megcélzása.
-
Általános/ elemzési lefedettség:
Válassza ki a végrehajtási módot. Válassza a Helyi értékelés lehetőséget.
Adja meg az értékelési eredmények kimeneti elérési útját, vagy nyomja le az Enter billentyűt az alapértelmezett érték elfogadásához.
Az ügynök automatikusan:
Amikor az értékelés befejeződik, az ügynök automatikusan megnyitja az összesített jelentést.
Interaktív mód (felhőügynökökre való delegálás)
Először konfigurálja a felhőügynököket az egyes alkalmazás-adattárakban. A felhőügynökök konfigurálásához forkolja el a mintaadattárakat.
Konfiguráció .NET alkalmazásokhoz
Konfigurálás a Windows rendszeren történő futtatáshoz .NET Framework alkalmazások esetén
Alapértelmezés szerint a Copilot felhőügynök Ubuntu Linux-környezetben fut. .NET Keretrendszer-alkalmazásokhoz Windows környezetre van szükség. Az engedélyezéshez konfigurálja a .github/workflows/copilot-setup-steps.yaml-t az alkalmazás-adattár main ágában az alábbi példában látható módon.
# 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
További információ: A Copilot fejlesztési környezetének beállítása Copilot beállítási lépésekkel
Tűzfal letiltása
Tiltsa le Copilot felhőügynök integrált tűzfalát az adattár beállításai között az alábbi képen látható módon:
MCP-kiszolgáló
Konfigurálja GitHub Copilot modernizálási MCP-kiszolgálót az adattár beállításainak Cloud-ügynök szakaszában az alábbi példában látható módon:
{
"mcpServers": {
"AppModDotNetUpgrade": {
"type": "local",
"command": "dotnet",
"args": [
"dnx",
"Microsoft.GitHubCopilot.Modernization.Mcp",
"--prerelease",
"--yes",
"--source",
"https://api.nuget.org/v3/index.json"
],
"env": {
"APPMOD_CALLER_TYPE": "modernize-cli"
},
"tools": ["*"]
}
}
}
Konfiguráció Java alkalmazásokhoz
Konfigurálja GitHub Copilot modernizálási MCP-kiszolgálót az adattár beállításainak Cloud-ügynök szakaszában az alábbi példában látható módon:
{
"mcpServers": {
"app-modernization": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"-y",
"@microsoft/github-copilot-app-modernization-mcp-server"
]
}
}
}
Lépések
A felhődelegálás interaktív folyamata megegyezik a helyi értékeléssel a forrás, az adattár, a tartomány és a konfigurációs lépések révén. Az egyetlen különbség a végrehajtási mód választása, és az, hogy mi történik utána.
Futtassa a modernizálási ügynököt:
modernizeVálassza az Értékelés lehetőséget a főmenüben, válassza ki a forrást (konfigurációs fájl, manuális bemenet vagy aktuális mappa), válassza ki az adattárakat, válassza ki az értékelési tartományokat, és tekintse át a konfigurációt. Ezek a lépések pontosan az interaktív módban (helyi értékelés) leírtak szerint működnek.
Válassza ki a végrehajtási módot. Válassza a Meghatalmazott a felhőügynökökhöz lehetőséget.
Adja meg az értékelési eredmények kimeneti elérési útját, vagy nyomja le az Enter billentyűt az alapértelmezett érték elfogadásához.
Az ügynök automatikusan delegálja az egyes adattárak értékelési feladatait a felhőbeli ügynököknek, és párhuzamosan hajtja végre őket a felhőben.
Az ügynök visszahívja az alkalmazásonkénti értékelés eredményeit a helyire, és helyileg hozza létre az összesített jelentést.
Amikor az értékelés befejeződik, az ügynök automatikusan megnyitja az összesített jelentést.
Nem interaktív mód (CLI)
A nem interaktív módot parancsargumentumok közvetlen megadásával is használhatja. Használja a modernize assess parancsot:
Helyi felmérés egy adattár konfigurációs fájljának használatával:
modernize assess --source .github/modernize/repos.json
Több adattár értékelése közvetlenül a források megadásával:
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
Felmérés felhőügynökökre való delegálással:
modernize assess --source .github/modernize/repos.json --delegate cloud --wait
További információ: értékelés – CLI-parancsok.
Azure Migrate-integráció
A kötegelt értékelést közvetlenül az Azure Migrate-projektből indíthatja el, és az eredményül kapott jelentések automatikusan visszakerülnek az Azure Migrate-ba.
A végpontok közötti folyamat:
Töltsön le egy kezdő
repos.json-t az Azure Migrate-ből. Azure Migrate létrehoz egy JSON-fájlt, amely a modernizálási értékeléshez kiválasztott alkalmazásokra terjed ki. A fájl már tartalmazza aapps[]bejegyzéseket, valamint aoutputblokkot, amely a Azure Migrate projektre mutat.Töltse ki az adattár URL-címeit. Szerkessze a letöltött fájl minden egyes
repos[]bejegyzését az alkalmazás GitHub adattár URL-címének hozzáadásához. Aapps[]ésoutputblokkokat tartsa meg, ahogy Azure Migrate generálta őket – ezek a blokkok hajtják a feltöltést.Kötegelt értékelés futtatása Futtassa az értékelést helyileg, vagy delegálja felhőügynököknek az előző lépések követésével. Mindkét végrehajtási mód tiszteletben tartja a Azure Migrate kimeneti konfigurációt.
A jelentések automatikusan feltöltődnek. Az értékelés befejezése után a modernizálási ügynök feltölti az egyes alkalmazások jelentéseit az Azure Migrate projektbe. Nincs szükség további CLI-jelzőre – a
output.typefájlban lévőrepos.jsonbeállítás vezérli a feltöltést.
Az összesített jelentés ismertetése
Az összesített jelentés átfogó áttekintést nyújt a kiértékelt alkalmazásokról az alábbiak szerint:
irányítópult
- Pillanatkép a portfólió állapotáról: az összes alkalmazás, a szükséges frissítések száma, valamint a blokkolók és a problémák száma.
- Technológiaterjesztés: milyen keretrendszerek vannak használatban, és hány alkalmazás osztja meg őket.
- Munkaerő-elosztás: hogy a teljes migrálás kis- vagy nagyszabású feladat.
Ajánlások
- Azure Szolgáltatások: az aktuális függőségeket az ajánlott Azure megfelelőkre képezi le. Az alkalmazások közötti megosztott függőségek egyszer lesznek meghatározva, így elkerülheti az alkalmazásonkénti átdolgozásokat.
- Célplatform: iránymutatást ad az üzemeltetési megoldás kiválasztásához, például az Azure Container Apps vagy az AKS között, és feltárja a konszolidációs lehetőségeket.
- Frissítési útvonal: azonosítja, hogy mely alkalmazásoknak kell előfeltételként keretrendszerfrissítéseket végeznie, és elkülöníti a frissítési munkát a migrálási munkától.
- Cost Estimate: az egyes alkalmazások javasolt célon való futtatásának Azure költségét becsüli meg, így a költéseket rangsorolásra is számításba veheti.
- Migrációs stratégiák: alkalmazásonként migrációs megközelítést javasol – például Replatform átemeléses és átalakításos migrációkhoz, illetve Rearchitect mélyebb refaktoráláshoz –, így minden alkalmazás a felkészültségének megfelelő stratégiát kap.
- Migrálási hullámok: az alkalmazásokat készenlét és kockázat szerint szakaszokba rendezi (például 1. hullámos gyors nyeremények, Wave 2 magfelhő, 3. hullám hosszú távú fogadások). Ez a megközelítés lehetővé teszi a korai nyeréseket, míg a nehezebb alkalmazásokat párhuzamosan készítik elő.
Alkalmazásértékelési mátrix
- Gyors áttekintés az egyes alkalmazásokról a keretrendszer, a célplatform, a frissítési javaslat, a problémák lebontása (Kötelező, Lehetséges, Nem kötelező), a munkamennyiség méretezése stb.
- Szükség esetén az egyes alkalmazásjelentésekre mutató hivatkozások részletezéshez.
Kötegértékelés hibaelhárítása
Gyakori problémák
Tárház hozzáférési hibái:
- Ellenőrizze GitHub hitelesítést a
gh auth statushasználatával. - Győződjön meg arról, hogy rendelkezik hozzáféréssel a listában felsorolt összes adattárhoz
repos.json.
Klónozási hibák:
- Ellenőrizze, hogy az
repos.jsonadattár URL-címei helyesek-e és elérhetők-e. - Győződjön meg arról, hogy minden adattárhoz megfelelő hozzáférési engedélyekkel rendelkezik.
- Ellenőrizze a hálózati kapcsolatot és a VPN-beállításokat.
Értékelési hibák:
- Ellenőrizze, hogy az adattár érvényes Java, .NET vagy JavaScript-/TypeScript-projekteket tartalmaz-e.
- Ellenőrizze, hogy léteznek-e buildfájlok, például
pom.xml,build.gradle,*.csproj,*.sln,*.slnxvagypackage.json. - Tekintse át a konzol kimenetében megjelenő hibaüzeneteket. A nem végzetes figyelmeztetések (például egy almodul hiányzó buildfájljai) most közvetlenül a CLI-kimenetre kerülnek – tekintse át őket, mielőtt véglegesként kezelené a jelentést.
Felhőügynök-delegálási problémák:
- A felhőügynök-delegálás csak
https://github.com/...az adattár URL-címeit fogadja el. A helyi útvonalakat és a nem GitHub szolgáltatókat (GitLab, Azure DevOps) a rendszer előre elutasítja egy leíró hibával. Használjon helyi végrehajtást ezekhez az adattárakhoz. - Győződjön meg arról, hogy rendelkezik a megfelelő engedélyekkel GitHub Actions munkafolyamatok létrehozásához.
- Ellenőrizze GitHub Actions szervezet engedélyeit és kvótakorlátait.
- A .NET-keretrendszeralkalmazások esetében győződjön meg arról, hogy Windows futókonfiguráció megfelelően van beállítva.
- Ellenőrizze az MCP-kiszolgáló konfigurációját.
Következő lépések
A kötegelt értékelés elvégzése után a következőkre van lehetőség:
Folytassa a modernizálási munkafolyamatot:
- Kötegelt frissítés futtatása az adattárakban – Konzisztens frissítések alkalmazása az értékelési eredmények alapján.
További információk:
- Egyéni képességek létrehozása szervezetspecifikus mintákhoz.
- További információ a parancssori felület parancsairól.
Visszajelzés küldése
Fontos a bemenete! Ha visszajelzést szeretne küldeni a tömbösített kiértékelésről vagy a modernizáló ügynökről, hozzon létre egy hibajegyet a github-copilot-appmod adattárban vagy használja a GitHub Copilot modernizációs visszajelzési űrlapot.