Megosztás a következőn keresztül:


Kötegelt frissítés a GitHub Copilot modernizációs ü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 kötegelt frissítés engedélyezéséhez hozzon létre egy .github/modernize/repos.json fájlt a munkakönyvtárban, amely felsorolja a frissíteni kívánt adattárakat.

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.

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

Adattár konfigurációja

Minden bejegyzéshez a következőre van szükség:

  • név: Az adattár rövid neve (a jelentésekben és irányítópultokon használatos).
  • url: A Git klónozási URL (HTTPS formátum).

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.

Fájl helye

A fájlt repos.json a következő helyre kell helyeznie: .github/modernize/repos.json.

A modernizálási ügynök automatikusan észleli ezt a fájlt kötegelt műveletek futtatásakor.

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.

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.
  • A működés módja: Feladatokat küld a GitHub Cloud Coding Agentsnek párhuzamos végrehajtás céljából a felhőben.
  • 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).

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 (interaktív, helyi)
  • modernize → Cloud kódoló ügynökök kiválasztása (interaktív, felhő)
  • modernize upgrade "Java 21" (nem interaktív, helyi)
  • modernize upgrade "Java 21" --delegate cloud (nem interaktív, felhő)

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

A kötegfrissítési munkafolyamat:

  1. Nyelvfelismerés: Automatikusan észleli a projektnyelvet (Java vagy .NET) az első adattárbó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. Az ügynök észleli a repos.json fájlt, és megjeleníti az adattár listáját:

    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.

  3. Válassza ki a frissíteni kívánt adattárakat, és nyomja Enter le a kívánt kijelölés megerősítéséhez.

    • Nyomja meg Ctrl+A az összes adattár kiválasztásához.
    • Vagy a nyílbillentyűkkel navigálhat és lenyomhatja Enter az egyes adattárak kijelölését.
  4. Válassza a 2. Frissítés menüpontot a főmenüből.

    Képernyőkép a parancssori felület modernizálásáról, amely a futtatókörnyezet frissítése & keretrendszer menüt jeleníti meg a terminálon.

  5. A frissítés futtatásához válassza az 1 lehetőséget. Helyi frissítés.

    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.

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

Java-alkalmazások esetén adja hozzá ezt a konfigurációt az adattár beállításainak Cloud Coding Agent szakaszához:

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

Képernyőkép a GitHubról, amely az adattár kódolási ügynök beállításai panelt jeleníti meg, kiemelve az MCP konfigurációs szakaszát.

Lépések

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

    modernize
    
  2. Az ügynök észleli a repos.json fájlt, és megjeleníti az adattár listáját:

    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.

  3. Válassza ki a frissíteni kívánt adattárakat, és nyomja Enter le a kívánt kijelölés megerősítéséhez.

    • Nyomja meg Ctrl+A az összes adattár kiválasztásához.
    • Vagy a nyílbillentyűkkel navigálhat és lenyomhatja Enter az egyes adattárak kijelölését.
  4. Válassza a 2. Frissítés menüpontot a főmenüből.

  5. A frissítés futtatásához válassza a 2. Delegálás a felhőkódolási ügynökökhöz.

    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.

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

      Képernyőkép a GitHubról, amelyen az Ügynökök panel látható az AgentHQ-nak delegált frissítési feladatokkal.

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

      Képernyőkép a GitHubról, 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.

      Képernyőkép a GitHubról, 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:

Helyi frissítés:

modernize upgrade "Java 21"

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

modernize upgrade "Java 21" --delegate cloud

A parancs automatikusan észleli a fájlt, és feldolgozza az repos.json összes adattárat.

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:

  • A GitHub-hitelesítés ellenőrzése 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 összes adattár repos.json 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 a GitHub Actions engedélyeit és kvótakorlátait.
  • A .NET-keretrendszer esetében győződjön meg arról, hogy a Windows futókonfigurációja 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 csoportos 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 űrlapját.