Batch-frissítés a GitHub Copilot modernizálási ügynökkel

A Batch-frissítés lehetővé teszi, hogy egyszerre több adattárra is egységes modernizációs terveket alkalmazzon. Ez a cikk bemutatja, hogyan frissíthet hatékonyan több alkalmazást nagyvállalati szinten.

A kötegelt frissítéssel a következőkre van lehetőség:

  • Egyszerre több alkalmazás frissítése ugyanazzal a frissítési céllal.
  • Konzisztens mintákat alkalmazhat az alkalmazások hasonló frissítési mintáival.
  • Használja ki a párhuzamos végrehajtást a felhőalapú kódolási ügynökökre való delegáláskor.

A Batch frissítése a következő előnyöket nyújtja:

  • Konzisztens végrehajtás:

    • Szabványosított megközelítés: Ugyanazokat a modernizációs mintákat alkalmazza az összes adattárban.
    • Csökkent variabilitás: A hasonló alkalmazások egységes frissítési útvonalainak biztosítása.
    • Újrafelhasználható stratégiák: Szervezetspecifikus készségek használata az alkalmazásokban.
  • Skálázás és hatékonyság:

    • Párhuzamos feldolgozás: Több adattár egyidejű feldolgozásához használjon felhőkódoló ügynököket.
    • Automatizált munkafolyamatok: Integráció CI-/CD-folyamatokkal ütemezett modernizáláshoz.
    • Időmegtakarítás: Csökkentse a teljes modernizációs időt hetekről órákra.

Előfeltételek

Fontos

Minden adattárnak egy kötegelt frissítéskor ugyanazt a programozási nyelvet kell használnia. Ha egy adattár más nyelvet használ, a kötegfrissítés sikertelenként jelöli meg az adattárat, és kihagyja.

Adattárak konfigurálása

A modernizálási ügynök több módot is támogat a frissíteni kívánt adattárak megadására:

  • Aktuális mappa: Fejlessze a projektet 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. Létrehozhatja például a .github/modernize/repos.json munkakönyvtárban, vagy megadhat egy egyéni elérési utat.

Jótanács

Mintatárral kapcsolatban először forkold őket, és győződj meg arról, hogy rendelkezel adminisztrátori engedéllyel a feladat Felhő Kódoló Ügynökök számára történő delegálásához.

Egyszerű formátum (adattárak tömbje):

[
  {
    "name": "PhotoAlbum-Java",
    "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
  },
  {
    "name": "ZavaSocialFrontEnd",
    "url": "https://github.com/Azure-Samples/ZavaSocialFrontEnd"
  }
]

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ónozási URL HTTPS vagy SSH formátumban. Az egyik a következők közül: url vagy path
path Abszolút helyi könyvtár elérési útja. Az egyik a url vagy path közül
branch A klónozás után kiveendő ág. No
description Ember által olvasható leírás. No

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álást végző szoftver automatikusan észleli a repos.json fájlt a .github/modernize/repos.json-on, amikor az interaktív mód "Konfigurációs fájlból" lehetőségét választja. Egyéni elérési utat is megadhat.

A végrehajtási mód kiválasztása

A Batch frissítése két végrehajtási módot és két interakciós módszert támogat:

Végrehajtási módok

Helyi végrehajtás

  • A legjobb megoldás: Tesztelés, kisebb adattárkészletek (1-5 adattár), vagy ha a helyi vezérlést részesíti előnyben.
  • Hogyan működik: A helyi gépen egymás után dolgozza fel az adattárakat.
  • Beállítás szükséges: Nincs az alapvető előfeltételeken túl.
  • Támogatja: A Git URL-ek és a helyi elérési utak tárolói.

Cloud Coding ügynökök delegálása

  • A legjobb megoldás: Nagyvállalati szintű műveletek, nagy portfoliók (5+ adattárak) vagy párhuzamos feldolgozás.
  • Hogyan működik: Feladatokat küld GitHub felhőbeli kódolási ügynököknek a felhőben történő párhuzamos végrehajtáshoz.
  • Beállítás szükséges: MCP-kiszolgáló konfigurálása az egyes adattárakban (a beállítás során konfigurálva).
  • Supports: Csak GitHub (github.com) URL-címmel rendelkező adattárak. A helyi útvonalak és a nem GitHub szolgáltatók nem támogatottak.

Fontos

A cloud coding agent delegálásához az adattáraknak GitHub (github.com) adattár URL-címekkel kell rendelkezniük. A helyi elérési utakkal megadott vagy nem GitHub szolgáltatókon (GitLab, Azure DevOps) tárolt adattárak a felhődelegálás során kimaradnak. Használjon helyi végrehajtást ezekhez az adattárakhoz.

Jótanács

Az adattárak párhuzamos feldolgozásával a Cloud Coding Agent delegálása órákról percekre csökkentheti a teljes modernizációs időt.

Interakciós módszerek

Interaktív mód (TUI)

  • Irányított felület menükkel és utasításokkal.
  • A legjobb az első felhasználók számára, vagy ha szeretné áttekinteni a beállításokat.
  • Támogatja a helyi és a felhőbeli végrehajtást is.

Nem interaktív mód (CLI/fej nélküli)

  • Parancssori alapú, teljesen automatizált.
  • Ci/CD-folyamatokhoz és automatizáláshoz a legjobb.
  • Támogatja a helyi és a felhőbeli végrehajtást is jelölővel --delegate cloud .

Megjegyzés:

Bármilyen végrehajtási módot kombinálhat bármilyen interakciós módszerrel. Például:

  • modernize → válassza a Frissítés (interaktív, helyi) lehetőséget
  • modernize → válassza a Frissítés → Meghatalmazott felhőügynököknek (interaktív, felhő) lehetőséget
  • modernize upgrade "Java 21" --source ./repos.json (nem interaktív, helyi)
  • modernize upgrade "Java 21" --source ./repos.json --delegate cloud (nem interaktív, felhő)

A tömeges frissítés működése

A kötegfrissítési munkafolyamat:

  1. Nyelvészlelés: Automatikusan észleli a projektnyelvet (Java vagy .NET) az első tárházból.
  2. Terv létrehozása: Létrehoz egy frissítési tervet a parancssor alapján, vagy a legújabb LTS-verziókat használja.
  3. Végrehajtás: Alkalmazza a frissítést az egyes adattárakra.
  4. Érvényesítés: Az egyes adattárak módosításait építi ki és ellenőrzi.

Kötegelt frissítés futtatása

Miután konfigurálta az adattárakat, és kiválasztotta a végrehajtási módot, indítsa el a kötegfrissítést.

Interaktív mód (helyi frissítés)

  1. Futtassa a modernizálási ügynököt:

    modernize
    
  2. Válassza a Frissítés lehetőséget a főmenüben.

    Képernyőkép a modernizálási parancssori felületről, amely a főmenüt jeleníti meg a terminál frissítési lehetőségével.

  3. Adja meg a céladattárak megadásának módját. Válassza a Konfigurációs fájlból való repos.json fájl használatát.

    Képernyőkép a parancssori felület modernizálásáról, amely a terminál forrástípus-kiválasztását jeleníti meg.

    Jótanács

    A Manuális bemenet lehetőséget választva közvetlenül megadhatja a helyi elérési utakat vagy távoli Git URL-címeket, vagy az Aktuális mappát a projekt frissítéséhez az aktuális könyvtárban.

  4. Ha a repos.json fá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.

  5. 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.

    Képernyőkép a parancssori felület modernizálásáról, amely a Terminálban az Adattárak kiválasztása listát jeleníti meg.

  6. Válassza ki a végrehajtási módot. Válassza a Helyi frissítés lehetőséget.

    Képernyőkép a modernizálási parancssori felületről, amely a helyi frissítés menüt jeleníti meg a terminálban.

  7. Adja meg a frissítési célkérést (például Java 21 vagy .NET 10), vagy nyomja le a Enter billentyűt az alapértelmezett (legújabb LTS-verzió) elfogadásához.

  8. Az ügynök automatikusan:

    • A kérés alapján létrehoz egy frissítési tervet.
    • A tervet egymás után alkalmazza az egyes adattárakra.
    • A módosítások után létrehozza és ellenőrzi az egyes adattárakat.
    • Megjeleníti az egyes adattárak állapotát és összegzését.

    Képernyőkép a parancssori felület modernizálásáról, amely a terminál minden adattárának frissítési folyamatát mutatja.

Interaktív mód (felhőkódoló ügynökökre való delegálás)

Előfeltételek: MCP-kiszolgáló konfigurálása

A frissítés futtatása előtt konfigurálja a GitHub Copilot modernizálási MCP-kiszolgálót az egyes adattárakban.

Az Java alkalmazásokhoz adja hozzá ezt a konfigurációt az adattár beállításainak Cloud Coding Agent szakaszában:

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

A GitHub képernyőképe, amely a kódoló ügynök beállítási paneljét mutatja, kiemelve az adattári MCP konfigurációs szekciót.

Lépések

  1. Futtassa a modernizálási ügynököt:

    modernize
    
  2. Válassza a Frissítés lehetőséget a főmenüben.

    Képernyőkép a modernizálási parancssori felületről, amely a főmenüt jeleníti meg a terminál frissítési lehetőségével.

  3. Adja meg a céladattárak megadásának módját. Válassza a Konfigurációs fájlból lehetőséget.

    Képernyőkép a parancssori felület modernizálásáról, amely a terminál forrástípus-kiválasztását jeleníti meg.

  4. Ha a repos.json fá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.

  5. 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.

    Képernyőkép a parancssori felület modernizálásáról, amely megjeleníti az adattárak listáját a terminálban.

  6. Válassza ki a végrehajtási módot. Válassza a Meghatalmazott a felhőügynökökhöz lehetőséget.

    Képernyőkép a parancssori felület modernizálásáról, amely a Delegálás a felhőkódoló ügynökökbe menüt jeleníti meg a terminálon.

  7. Adja meg a frissítési célkérést (például Java 21), vagy nyomja le a Enter billentyűt az alapértelmezett érték elfogadásához.

  8. Az ügynök automatikusan:

    • Frissítési terveket hoz létre az egyes adattárakhoz.

    • Minden adattárhoz elküld egy Cloud Coding Agent-feladatot.

    • A feladatokat egymástól függetlenül futtatja párhuzamosan a felhőben.

    • Megjeleníti az egyes adattárak feladatazonosítóit és PR URL-címeit.

      Képernyőkép a parancssori felület modernizálásáról, amely a terminálon lévő Cloud Coding Agentsre való frissítés delegálásának előrehaladását mutatja.

    • Feladatokat delegál az AgentHQ-nak párhuzamos végrehajtás céljából.

      GitHub képernyőkép, amely az Ügynökök panelen az AgentHQ számára delegált frissítési feladatokat mutatja.

    • Valós időben nyomon követi az egyes tevékenységek előrehaladását.

      A GitHub képernyőképe, amely az Ügynökök panelt jeleníti meg az egyes felhőkódolóügynök-frissítési feladatok előrehaladásának nyomon követésével

    • Megjeleníti az egyes befejezett tevékenységek frissítési összegzését.

      A GitHub képernyőképe, amely az Ügynökök panelt jeleníti meg az egyes Cloud Coding Agent-feladatok frissítési összegzésével

Nem interaktív mód (CLI)

Automatizáláshoz és CI/CD-integrációhoz használja a modernize upgrade következő parancsot:

Frissítsen helyileg egy adattár konfigurációs fájljának használatával:

modernize upgrade "Java 21" --source .github/modernize/repos.json

Több adattár frissítése közvetlenül a források megadásával:

modernize upgrade "Java 21" --source https://github.com/org/repo1 --source https://github.com/org/repo2

Frissítés a Cloud Coding Agents használatával:

modernize upgrade "Java 21" --source .github/modernize/repos.json --delegate cloud

Megjegyzés:

A kötegelt, grafikus felület nélküli végrehajtásról és további CLI lehetőségekről a CLI parancsok hivatkozásának Több adattár konfiguráció szakaszában olvashat.

Eredmények áttekintése

Amikor a csoportos frissítés befejeződik:

  1. Ellenőrizze a terminálban megjelenített összesített jelentést.

  2. Az egyes adattárak módosításainak áttekintése:

    cd <repository-name>
    git status
    git diff
    
  3. Lekéréses kérelmek létrehozása a sikeres frissítésekhez:

    cd <repository-name>
    gh pr create --title "Upgrade to Java 21" --body "Automated upgrade by modernization agent"
    

Kötegelt frissítések 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 status használatával.
  • Győződjön meg arról, hogy rendelkezik hozzáféréssel az összes adattárhoz a következőben repos.json: .

Nyelveltérési hibák:

  • Győződjön meg arról, hogy az repos.json összes adattára ugyanazt a nyelvet használja (Java vagy .NET).
  • Hozzon létre külön kötegműveleteket a különböző nyelvekhez.

Klónozási hibák:

  • Ellenőrizze, hogy az repos.json adattár URL-címei helyesek-e és elérhetők-e.
  • Győződjön meg arról, hogy megfelelő hozzáférési engedélyekkel rendelkezik az összes adattárhoz.
  • Ellenőrizze a hálózati kapcsolatot és a VPN-beállításokat.

Buildelési hibák a frissítés után:

  • Tekintse át a buildelési hibaüzeneteket az összesített jelentésben.
  • Ellenőrizze, hogy frissítenie kell-e más függőségeket.
  • Ellenőrizze, hogy a külső kódtárak kompatibilisek-e az új verzióval.

Egyéni adattárhibák:

  • A kötegfolyamat akkor is folytatódik, ha az egyes adattárak sikertelenek.
  • Tekintse át az összesített jelentést a sikertelen adattárak azonosításához.
  • Adott hibaüzenetek hibanaplóinak ellenőrzése.
  • Az újrapróbálkozás nem sikerült tárházak egyenként.

Felhőkódoló ügynök hibái:

  • Ellenőrizze GitHub Actions engedélyeket és kvótakorlátokat.
  • A .NET-keretrendszer esetében győződjön meg arról, hogy Windows futókonfiguráció megfelelően van beállítva.

Következő lépések

A kötegelt frissítés befejezése után a következőket megteheti:

A fejlesztés folytatása:

További információk:

Visszajelzés küldése

Nagyra értékeljük a bemenetet! Ha visszajelzést szeretne küldeni a kötegelt frissítésről vagy a Modernizálási ügynökről, hozzon létre egy problémát a github-copilot-appmod adattárban vagy használja a GitHub Copilot modernizációs visszajelzési űrlapot.