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.
GitHub Copilot-moderniseringsagenten tillhandahåller både interaktiva och icke-interaktiva lägen för programmodernisering.
Kommandolägen
Interaktivt läge
Starta det interaktiva användargränssnittet för text (TUI) för guidad modernisering:
modernize
Det interaktiva läget tillhandahåller:
- Menydriven navigering via moderniseringsarbetsflödet.
- Indikatorer för visuell plan och förlopp.
- Guidade frågor om konfigurationsalternativ.
- Gränssnitt för val av flera lagringsplatser.
Icke-interaktivt läge
Kör specifika kommandon direkt för automatisering och skriptkörning:
modernize <command> [options]
Använd icke-interaktivt läge när:
- Integrera med CI/CD-pipelines.
- Automatisera batchåtgärder.
- Arbetsflöden för skriptmodernisering.
- Körs i huvudlösa miljöer.
Globala alternativ
Alla kommandon har stöd för följande globala alternativ:
| Option | Beskrivning |
|---|---|
--help, -h |
Visar hjälpinformation. |
--no-tty |
Inaktiverar interaktiva frågor (huvudlöst läge). |
Kommandon
värdera
Kör en utvärdering och genererar en omfattande analysrapport.
Syntax
modernize assess [options]
Alternativ
| Option | Beskrivning | Standardinställning |
|---|---|---|
--source <path> |
Sökvägen till källprojektet (relativ eller absolut lokal sökväg). |
. (aktuell katalog) |
--output-path <path> |
En anpassad utdatasökväg för utvärderingsresultat. | .github/modernize/assessment/ |
--issue-url <url> |
En GitHub-problem-URL som ska uppdateras med utvärderingssammanfattningen. | Ingen |
--multi-repo |
Aktiverar utvärdering av flera lagringsplatser. Söker igenom underkataloger på första nivån efter flera lagringsplatser. | Inaktiverad |
--model <model> |
DEN LLM-modell som ska användas. | claude-sonnet-4.6 |
--delegate <delegate> |
Körningsläget: local (den här datorn) eller cloud (Cloud Coding Agent). |
local |
--wait |
Väntar på att de delegerade uppgifterna ska slutföras och generera resultat (endast giltiga med --delegate cloud). |
Inaktiverad |
--force |
Tvingar omstart av delegering och ignorerar pågående uppgifter (endast giltiga med --delegate cloud). |
Inaktiverad |
Exempel
Grundläggande utvärdering av aktuell katalog:
modernize assess
Utvärdera med anpassad utdataplats:
modernize assess --output-path ./reports/assessment
Utvärdera och uppdatera GitHub-problem med resultat:
modernize assess --issue-url https://github.com/org/repo/issues/123
Utvärdera en specifik projektkatalog:
modernize assess --source /path/to/project
Utvärdera flera lagringsplatser i den aktuella katalogen:
modernize assess --multi-repo
Resultat
Utvärderingen genererar:
- Rapportfiler: Detaljerad analys i JSON-, MD- och HTML-format.
- Sammanfattning: Viktiga resultat och rekommendationer.
-
Problemuppdateringar (om du anger
--issue-url): GitHub utfärdar en kommentar med sammanfattning.
planera skapande
Skapar en moderniseringsplan baserat på en fråga om naturligt språk som beskriver dina moderniseringsmål.
Syntax
modernize plan create <prompt> [options]
Arguments
| Argument | Beskrivning |
|---|---|
<prompt> |
En beskrivning av moderniseringsmålen (krävs). |
Alternativ
| Option | Beskrivning | Standardinställning |
|---|---|---|
--source <path> |
Sökvägen till programmets källkod. | Aktuell katalog |
--plan-name <name> |
Namnet på moderniseringsplanen. | modernization-plan |
--language <lang> |
Programmeringsspråket (java, dotneteller python). |
Identifieras automatiskt |
--overwrite |
Skriver över en befintlig plan med samma namn. | Inaktiverad |
--model <model> |
DEN LLM-modell som ska användas. | claude-sonnet-4.6 |
Exempel
Generera en migreringsplan:
modernize plan create "migrate from oracle to azure postgresql"
Generera en uppgraderingsplan med anpassat namn:
modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade
Generera en distributionsplan:
modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca
Exempel på fullständiga alternativ:
modernize plan create "upgrade to .NET 8" \
--source /path/to/project \
--plan-name dotnet8-upgrade \
--language dotnet \
--issue-url https://github.com/org/repo/issues/456
Exempel på fråga
Ramverksuppgraderingar:
upgrade to spring boot 3upgrade to .NET 10upgrade to JDK 21migrate from spring boot 2 to spring boot 3
Databasmigreringar:
migrate from oracle to azure postgresqlmigrate from SQL Server to azure cosmos dbswitch from MySQL to azure database for mysql
Molnmigreringar:
migrate from on-premises to azurecontainerize and deploy to azure container appsmigrate from rabbitmq to azure service bus
Deployering:
deploy to azure app servicedeploy to azure kubernetes serviceset up CI/CD pipeline for azure
Resultat
Kommandot genererar:
Planfil (
.github/modernize/{plan-name}/plan.md): Detaljerad moderniseringsstrategi, inklusive:- Kontext och mål
- Metod och metodik
- Förtydliganden
Uppgiftslista (
.github/modernize/{plan-name}/tasks.json): Strukturerad uppdelning av körbara uppgifter med:- Aktivitetsbeskrivningar
- Kunskaper att använda
- Framgångsvillkor
Tips/Råd
Du kan redigera både plan.md och tasks.json efter generation manuellt för att anpassa metoden före körning.
planera körning
Kör en moderniseringsplan som skapats av modernize plan create.
Syntax
modernize plan execute [prompt] [options]
Arguments
| Argument | Beskrivning |
|---|---|
[prompt] |
Valfria instruktioner för naturligt språk för körning (till exempel "hoppa över tester"). |
Alternativ
| Option | Beskrivning | Standardinställning |
|---|---|---|
--source <path> |
Sökvägen till programmets källkod. | Aktuell katalog |
--plan-name <name> |
Namnet på planen som ska köras. | modernization-plan |
--language <lang> |
Programmeringsspråket (java eller dotnet). |
Identifieras automatiskt |
--model <model> |
DEN LLM-modell som ska användas. | claude-sonnet-4.6 |
--delegate <delegate> |
Körningsläget: local (den här datorn) eller cloud (Cloud Coding Agent). |
local |
--force |
Tvingar fram körning även när ett CCA-jobb pågår. | Inaktiverad |
Exempel
Kör den senaste planen interaktivt:
modernize plan execute
Kör en specifik plan:
modernize plan execute --plan-name spring-boot-upgrade
Kör med extra instruktioner:
modernize plan execute "skip the test" --plan-name spring-boot-upgrade
Kör i huvudlöst läge för CI/CD:
modernize plan execute --plan-name spring-boot-upgrade --no-tty
Körningsbeteende
Under körningen:
Läser in planen: Läser planen och uppgiftslistan från
.github/modernization/{plan-name}/Kör uppgifter: Bearbetar varje uppgift i uppgiftslistan sekventiellt:
- Tillämpar kodtransformeringar.
- Validerar byggen efter ändringar.
- Söker efter CVE:er.
- Genomför ändringar med beskrivande meddelanden.
Genererar sammanfattning: Ger en rapport över alla ändringar och resultat.
Resultat
- Incheckningshistorik: Detaljerade incheckningar för varje aktivitet som körs.
- Sammanfattningsrapport: Översikt över ändringar, framgångar och eventuella problem som påträffas.
- Byggvalidering: Bekräfta att programmet har skapats.
- CVE-rapport: Säkerhetsrisker som identifieras och åtgärdas.
upgrade
Kör ett uppgraderingsarbetsflöde från slutpunkt till slutpunkt – planera och köra – i ett enda kommando.
Syntax
modernize upgrade [prompt] [options]
Arguments
| Argument | Beskrivning |
|---|---|
[prompt] |
Målversionen, till exempel Java 17, Spring Boot 3.2, .NET 10. Standardvärdet är den senaste LTS. |
Alternativ
| Option | Beskrivning | Standardinställning |
|---|---|---|
--source <source> |
Sökvägen till källprojektet (relativ eller absolut lokal sökväg). |
. (aktuell katalog) |
--delegate <delegate> |
Körningsläget: local (den här datorn) eller cloud (Cloud Coding Agent). |
local |
--model <model> |
DEN LLM-modell som ska användas. | claude-sonnet-4.6 |
Exempel
Kör upgrade i den aktuella katalogen:
modernize upgrade "Java 17"
modernize upgrade ".NET 10"
Kör upgrade i ett specifikt projekt:
modernize upgrade "Java 17" --source /path/to/project
Kör upgrade med hjälp av Cloud Coding Agent:
modernize upgrade "Java 17" --delegate cloud
help
Innehåller hjälp- och informationskommandon.
Syntax
modernize help [command]
Kommandon
| Kommando | Beskrivning |
|---|---|
models |
Visar tillgängliga LLM-modeller och deras multiplikatorer. |
Exempel
Lista tillgängliga modeller:
modernize help models
Konfigurera CLI
Med hjälp av moderniseringsagenten kan du anpassa programmets beteende via JSON-filer och miljövariabler.
Miljövariabler
Ange miljövariabler som åsidosätter alla andra konfigurationsomfång:
| Variabel | Beskrivning | Standardinställning |
|---|---|---|
MODERNIZE_LOG_LEVEL |
Loggningsnivån (none, , errorwarning, info, , debug) all |
info |
MODERNIZE_MODEL |
DEN LLM-modell som ska användas. | claude-sonnet-4.6 |
MODERNIZE_COLLECT_TELEMETRY |
Aktivera eller inaktivera telemetrisamling. | true |
Exempel:
export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess
Användarkonfiguration
Lagra användarspecifika inställningar i ~/.modernize/config.json eller lagringsplatsomfattande inställningar i .github/modernize/config.json.
{
"model": "claude-sonnet-4.6",
"log_level": "info",
"trusted_folders": [
"/path/to/trusted/project",
]
}
Egenskapen trusted_folders anger de mappar som är betrodda att använda LLM i interaktivt läge.
Anmärkning
Miljövariabler har högsta prioritet, följt av användarkonfiguration och sedan lagringsplatskonfiguration. Använd miljövariabler för CI/CD-åsidosättningar och användarkonfiguration för personliga inställningar.
Konfiguration av flera lagringsplatser
Skapa en .github/modernize/repos.json fil för att aktivera läget för flera lagringsplatser:
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
]
repos.json När filen är på plats använder du följande kommandon för att arbeta över alla konfigurerade lagringsplatser:
Utvärdera alla lagringsplatser lokalt:
modernize assess
Utvärdera alla lagringsplatser med hjälp av Cloud Coding Agent:
modernize assess --delegate cloud
Uppgradera alla lagringsplatser med hjälp av Cloud Coding Agent:
modernize upgrade --delegate cloud