Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med batchuppgradering kan du tillämpa konsekventa moderniseringsplaner på flera lagringsplatser samtidigt. Den här artikeln visar hur du uppgraderar flera program effektivt i företagsskala.
Genom att använda batchuppgradering kan du:
- Uppgradera flera program samtidigt med samma uppgraderingsmål.
- Använd konsekventa mönster med hjälp av liknande uppgraderingsmönster i olika program.
- Utnyttja parallell körning när du delegerar till molnkodningsagenter.
Batch-uppgradering ger följande fördelar:
Konsekvent utförande
- Standardiserad metod: Använd samma moderniseringsmönster på alla lagringsplatser.
- Minskad variabilitet: Säkerställ konsekventa uppgraderingsvägar för liknande program.
- Återanvändbara strategier: Använd organisationsspecifika kunskaper i olika program.
Skala och effektivitet:
- Parallell bearbetning: Använd molnkodningsagenter för att bearbeta flera lagringsplatser samtidigt.
- Automatiserade arbetsflöden: Integrera med CI/CD-pipelines för schemalagd modernisering.
- Tidsbesparingar: Minska den totala moderniseringstiden från veckor till timmar.
Förutsättningar
- Modernisera CLI.
- En slutförd batchutvärdering (rekommenderas men krävs inte).
- Alla lagringsplatser använder samma programmeringsspråk (Java eller .NET).
- Åtkomst till alla lagringsplatser som du vill uppgradera.
- GitHub-autentisering konfigurerad (
gh auth login).
Viktigt!
Alla lagringsplatser i en batchuppgradering måste använda samma programmeringsspråk. Om en lagringsplats använder ett annat språk markerar batchuppgradering lagringsplatsen som misslyckad och hoppar över den.
Konfigurera lagringsplatser
Moderniseringsagenten har stöd för flera sätt att ange de lagringsplatser som du vill uppgradera:
- Aktuell mapp: Uppgradera projektet i den aktuella arbetskatalogen.
- Manuell inmatning: Ange lokala katalogsökvägar eller git-fjärr-URL:er direkt.
- Databaskonfigurationsfil: Använd en JSON-konfigurationsfil som visar alla lagringsplatser.
Databaskonfigurationsfil
För batchåtgärder över många lagringsplatser skapar du en JSON-konfigurationsfil för att visa en lista över alla lagringsplatser. Du kan till exempel skapa det .github/modernize/repos.json i din arbetskatalog eller ange en anpassad sökväg.
Tips/Råd
För exempellagringsplatser förgrenar du dem först och kontrollerar att du har administratörsbehörighet för att delegera jobbet till Molnkodningsagenter.
Enkelt format (matris med lagringsplatser):
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "ZavaSocialFrontEnd",
"url": "https://github.com/Azure-Samples/ZavaSocialFrontEnd"
}
]
Fullständigt format (med gren- och lokala sökvägar):
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "local-project",
"path": "/absolute/path/to/project"
}
]
}
Varje lagringsplatspost stöder följande fält:
| Fält | Beskrivning | Obligatoriskt |
|---|---|---|
name |
Ett eget namn för lagringsplatsen (används i rapporter och instrumentpaneler). | Ja |
url |
Git-klon-URL i HTTPS- eller SSH-format. | En av url eller path |
path |
Absolut lokal katalogsökväg. | En av url eller path |
branch |
Förgrena för att checka ut efter kloning. | No |
description |
Beskrivning som kan läsas av människor. | No |
Tips/Råd
Du kan inkludera lagringsplatser från olika organisationer och använda olika autentiseringsmetoder så länge du har åtkomst.
Moderniseringsagenten identifierar automatiskt repos.json-filen vid .github/modernize/repos.json när du väljer Från en konfigfil i interaktivt läge. Du kan också ange en anpassad sökväg.
Välj körningsläge
Batch-uppgradering stöder två körningslägen och två interaktionsmetoder:
Körningslägen
Lokal körning
- Bäst för: Testning, mindre uppsättningar lagringsplatser (1–5 lagringsplatser) eller när du föredrar lokal kontroll.
- Så här fungerar det: Bearbetar lagringsplatser sekventiellt på din lokala dator.
- Konfigurering krävs: Ingen utöver de grundläggande förutsättningarna.
- Stöder: Både Git-URL och lokala sökvägslagringsplatser.
Delegering av molnkodningsagent
- Bäst för: Åtgärder i företagsskala, stora portföljer (5+ lagringsplatser) eller parallell bearbetning.
- Hur det fungerar: Skickar uppgifter till GitHub Molnkodningsagenter för parallell körning i molnet.
- Installation krävs: MCP-serverkonfiguration på varje lagringsplats (konfigurerad under installationen).
- Supports: Endast lagringsplatser med url:er för GitHub (github.com). Lokala sökvägar och icke-GitHub leverantörer stöds inte.
Viktigt!
Cloud Coding Agent-delegering kräver att lagringsplatser har url:er för GitHub (github.com) lagringsplats. Databaser som anges med lokala sökvägar eller som finns på icke-GitHub leverantörer (GitLab, Azure DevOps) utelämnas vid molndelegering. Använd lokal exekvering för dessa lagringsplatser.
Tips/Råd
Genom att bearbeta lagringsplatser parallellt kan Cloud Coding Agent-delegering minska den totala moderniseringstiden från timmar till minuter.
Interaktionsmetoder
Interaktivt läge (TUI)
- Guidad upplevelse med menyer och uppmaningar.
- Bäst för förstagångsanvändare eller när du vill granska alternativ.
- Stöder både lokal körning och molnkörning.
Icke-interaktivt läge (CLI/huvudlöst)
- Kommandoradsbaserad, helt automatiserad.
- Bäst för CI/CD-leveranskedjor och automatisering.
- Stöder både lokal körning och molnkörning med
--delegate cloudflagga.
Anmärkning
Du kan kombinera valfritt körningsläge med valfri interaktionsmetod. Som exempel:
-
modernize→ välja Uppgradera (interaktiv, lokal) -
modernize→ välja Uppgradera → Delegera till molnagenter (interaktivt, moln) -
modernize upgrade "Java 21" --source ./repos.json(icke-interaktiv, lokal) -
modernize upgrade "Java 21" --source ./repos.json --delegate cloud(icke-interaktivt, moln)
Så här fungerar batchuppgradering
Arbetsflödet för batchuppgradering:
- Language detection: Identifierar automatiskt projektspråket (Java eller .NET) från den första lagringsplatsen.
- Skapa plan: Skapar en uppgraderingsplan baserat på din fråga eller använder de senaste LTS-versionerna.
- Körning: Tillämpar uppgraderingen på varje lagringsplats.
- Validering: Skapar och validerar ändringar för varje lagringsplats.
Kör batchuppgradering
När du har konfigurerat dina lagringsplatser och valt ett körningsläge startar du batchuppgradering.
Interaktivt läge (uppgradera lokalt)
Kör moderniseringsagenten:
modernizeVälj Uppgradera på huvudmenyn.
Välj hur du vill ange dina mållagringsplatser. Välj Från en konfigurationsfil för att använda en
repos.jsonfil.Tips/Råd
Du kan också välja Manuella indata för att ange lokala sökvägar eller fjärranslutna Git-URL:er direkt, eller aktuell mapp för att uppgradera projektet i den aktuella katalogen.
repos.jsonOm filen identifieras på standardplatsen fyller agenten automatiskt i den. Annars anger du sökvägen till konfigurationsfilen och trycker på Retur.Alla lagringsplatser är markerade som standard. Avmarkera alla lagringsplatser som du vill hoppa över och tryck sedan på Retur för att bekräfta ditt val.
- Använd piltangenterna för att navigera och tryck på Blanksteg för att växla enskilda lagringsutrymmen.
Välj körningsläge. Välj Uppgradera lokalt.
Ange kommandotolken för uppgraderingsmål (till exempel
Java 21eller.NET 10) eller tryck på Enter för att acceptera standardvärdet (den senaste LTS-versionen).Agenten utför automatiskt följande:
- Skapar en uppgraderingsplan baserat på din begäran.
- Tillämpar planen på varje lagringsplats sekventiellt.
- Skapar och validerar varje lagringsplats efter ändringar.
- Visar förlopp och sammanfattning för varje lagringsplats.
Interaktivt läge (delegera till molnkodningsagenter)
Förutsättningar: Konfigurera MCP-server
Innan du kör uppgraderingen konfigurerar du GitHub Copilot Modernization MCP Server i varje arkiv.
För Java program lägger du till den här konfigurationen i avsnittet Molnkodningsagent i lagringsplatsens inställningar:
{
"mcpServers": {
"app-modernization": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"-y",
"@microsoft/github-copilot-app-modernization-mcp-server"
]
}
}
}
Instruktioner
Kör moderniseringsagenten:
modernizeVälj Uppgradera på huvudmenyn.
Välj hur du vill ange dina mållagringsplatser. Välj Från en konfigurationsfil.
repos.jsonOm filen identifieras på standardplatsen fyller agenten automatiskt i den. Annars anger du sökvägen till konfigurationsfilen och trycker på Retur.Alla lagringsplatser är markerade som standard. Avmarkera alla lagringsplatser som du vill hoppa över och tryck sedan på Retur för att bekräfta ditt val. Använd piltangenterna för att navigera och trycka på Blanksteg för att växla mellan enskilda lagringsplatser.
Välj körningsläge. Välj Delegera till molnagenter.
Ange uppgraderingsmålprompten (till exempel
Java 21) eller tryck på Enter för att acceptera standardvärdet.Agenten utför automatiskt följande:
Skapar uppgraderingsplaner för varje lagringsplats.
Skickar ett Cloud Coding Agent-jobb för varje lagringsplats.
Kör jobb separat parallellt i molnet.
Visar jobb-ID:er och PR-URL:er för varje lagringsplats.
Delegerar uppgifter till AgentHQ för att köra parallellt.
Spårar förloppet för varje enskild aktivitet i realtid.
Visar uppgraderingssammanfattning för varje slutförd uppgift.
Icke-interaktivt läge (CLI)
Använd kommandot för automatisering och CI/CD-integrering modernize upgrade :
Uppgradera lokalt med hjälp av en databaskonfigurationsfil:
modernize upgrade "Java 21" --source .github/modernize/repos.json
Uppgradera flera lagringsplatser genom att ange källor direkt:
modernize upgrade "Java 21" --source https://github.com/org/repo1 --source https://github.com/org/repo2
Uppgradera med hjälp av molnkodningsagenter:
modernize upgrade "Java 21" --source .github/modernize/repos.json --delegate cloud
Anmärkning
För körning i batchläge utan användargränssnitt och fler CLI-alternativ, se avsnittet Konfiguration för flera arkiv i CLI-kommandoreferensen.
Granska resultat
När batchuppgradningen är klar:
Kontrollera den aggregerade rapporten som visas i terminalen.
Granska ändringar i enskilda kodförråd:
cd <repository-name> git status git diffSkapa pull-begäranden för lyckade uppgraderingar:
cd <repository-name> gh pr create --title "Upgrade to Java 21" --body "Automated upgrade by modernization agent"
Felsökning för batchuppgraderingar
Vanliga problem
Fel vid åtkomst till lagringsplats:
- Verifiera GitHub autentisering med hjälp av
gh auth status. - Kontrollera att du har åtkomst till alla lagringsplatser i
repos.json.
Språkmatchningsfel:
- Kontrollera att alla lagringsplatser i
repos.jsonanvänder samma språk (Java eller .NET). - Skapa separata batchåtgärder för olika språk.
Klonfel:
- Kontrollera att url:erna för lagringsplatsen är
repos.jsonkorrekta och tillgängliga. - Kontrollera att du har rätt åtkomstbehörigheter till alla lagringsplatser.
- Kontrollera nätverksanslutningen och VPN-inställningarna.
Byggfel efter uppgradering:
- Granska byggfelmeddelanden i den aggregerade rapporten.
- Kontrollera om du behöver uppdatera andra beroenden.
- Kontrollera kompatibiliteten för bibliotek från tredje part med den nya versionen.
Fel på enskilda lagringsplatser:
- Batchprocessen fortsätter även om enskilda lagringsplatser misslyckas.
- Granska den aggregerade rapporten för att identifiera misslyckade lagringsplatser.
- Kontrollera om det finns specifika felmeddelanden i felloggarna.
- Försök igen med att återställa misslyckade repositories individuellt.
Fel i Cloud Coding Agent:
- Kontrollera GitHub Actions behörigheter och kvotgränser.
- För .NET Framework kontrollerar du att Windows runner-konfigurationen är korrekt inställd.
Nästa steg
När du har slutfört batchuppgraderingen kan du:
Fortsätt att förbättra:
- Kör batchutvärdering – Utvärdera igen för att verifiera förbättringar och identifiera nya affärsmöjligheter.
- Skapa anpassade kunskaper för organisationsspecifika mönster – Samla in lyckade mönster för återanvändning.
Läs mer:
Lämna feedback
Vi värdesätter dina indata! Om du har feedback om batchuppgradering eller moderniseringsagenten skapa ett problem på github-copilot-appmod-lagringsplatsen eller använd GitHub Copilot formuläret för moderniseringsfeedback.