Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der GitHub Copilot-Modernisierungs-Agent bietet interaktive und nicht interaktive Modi für die Anwendungsmodernisierung.
Befehlsmodi
Interaktiver Modus
Starten Sie die interaktive Text-Benutzeroberfläche (TUI) zur geführten Modernisierung:
modernize
Der interaktive Modus bietet Folgendes:
- Menügesteuerte Navigation über den Modernisierungsworkflow.
- Visuelle Plan- und Fortschrittsindikatoren.
- Geführte Eingabeaufforderungen für Konfigurationsoptionen.
- Multi-Repository-Auswahlschnittstelle.
Nicht interaktiver Modus
Führen Sie bestimmte Befehle direkt für Automatisierung und Skripting aus:
modernize <command> [options]
Verwenden Sie den nicht interaktiven Modus, wenn:
- Integration in CI/CD-Pipelines.
- Automatisieren von Batchvorgängen.
- Skript-Modernisierungsworkflows.
- Wird in headless Umgebungen ausgeführt.
Globale Optionen
Alle Befehle unterstützen diese globalen Optionen:
| Auswahl | Beschreibung |
|---|---|
--help, -h |
Zeigt Hilfeinformationen an. |
--no-tty |
Deaktiviert interaktive Eingabeaufforderungen (Headless Mode). |
Befehle
Bewerten
Führt eine Bewertung aus und generiert einen umfassenden Analysebericht.
Syntax
modernize assess [options]
Options
| Auswahl | Beschreibung | Vorgabe |
|---|---|---|
--source <path> |
Der Pfad zum Quellprojekt (relativer oder absoluter lokaler Pfad). |
. (aktuelles Verzeichnis) |
--output-path <path> |
Ein benutzerdefinierter Ausgabepfad für Bewertungsergebnisse. | .github/modernize/assessment/ |
--issue-url <url> |
Eine GitHub-Problem-URL, die mit der Bewertungszusammenfassung aktualisiert werden soll. | Nichts |
--multi-repo |
Ermöglicht die Bewertung von Multi-Repositorys. Scannt Unterverzeichnisse der ersten Ebene nach mehreren Repositorys. | Deaktiviert |
--model <model> |
Das zu verwendende LLM-Modell. | claude-sonnet-4.6 |
--delegate <delegate> |
Der Ausführungsmodus: local (dieser Computer) oder cloud (Cloud Coding Agent). |
local |
--wait |
Wartet auf den Abschluss der delegierten Aufgaben und generiert Ergebnisse (gilt nur für --delegate cloud). |
Deaktiviert |
--force |
Erzwingt den Neustart der Delegierung, wobei laufende Vorgänge ignoriert werden (gilt nur für --delegate cloud). |
Deaktiviert |
Beispiele
Grundlegende Bewertung des aktuellen Verzeichnisses:
modernize assess
Bewerten mit benutzerdefiniertem Ausgabespeicherort:
modernize assess --output-path ./reports/assessment
Bewerten und Aktualisieren des GitHub-Problems mit Ergebnissen:
modernize assess --issue-url https://github.com/org/repo/issues/123
Bewerten eines bestimmten Projektverzeichnisses:
modernize assess --source /path/to/project
Bewerten mehrerer Repositorys im aktuellen Verzeichnis:
modernize assess --multi-repo
Output
Die Bewertung generiert Folgendes:
- Berichtsdateien: Detaillierte Analyse in JSON-, MD- und HTML-Formaten.
- Zusammenfassung: Wichtige Ergebnisse und Empfehlungen.
-
Problemaktualisierungen (wenn Sie bereitstellen
--issue-url): GitHub-Problemkommentar mit Zusammenfassung.
Plan erstellen
Erstellt einen Modernisierungsplan basierend auf einer Aufforderung in natürlicher Sprache, die Ihre Modernisierungsziele beschreibt.
Syntax
modernize plan create <prompt> [options]
Argumente
| Argument | Beschreibung |
|---|---|
<prompt> |
Eine natursprachliche Beschreibung der Modernisierungsziele (erforderlich). |
Options
| Auswahl | Beschreibung | Vorgabe |
|---|---|---|
--source <path> |
Der Pfad zum Anwendungsquellcode. | Aktuelles Verzeichnis |
--plan-name <name> |
Der Name für den Modernisierungsplan. | modernization-plan |
--language <lang> |
Die Programmiersprache (java, dotnetoder python). |
Automatisch erkannt |
--overwrite |
Überschreibt einen vorhandenen Plan mit demselben Namen. | Deaktiviert |
--model <model> |
Das zu verwendende LLM-Modell. | claude-sonnet-4.6 |
Beispiele
Generieren Eines Migrationsplans:
modernize plan create "migrate from oracle to azure postgresql"
Generieren Sie einen Upgradeplan mit benutzerdefiniertem Namen:
modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade
Generieren Eines Bereitstellungsplans:
modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca
Beispiel für vollständige Optionen:
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
Beispiele für Eingabeaufforderungen
Framework-Upgrades:
upgrade to spring boot 3upgrade to .NET 10upgrade to JDK 21migrate from spring boot 2 to spring boot 3
Datenbankmigrationen:
migrate from oracle to azure postgresqlmigrate from SQL Server to azure cosmos dbswitch from MySQL to azure database for mysql
Cloudmigrationen:
migrate from on-premises to azurecontainerize and deploy to azure container appsmigrate from rabbitmq to azure service bus
Einsatz:
deploy to azure app servicedeploy to azure kubernetes serviceset up CI/CD pipeline for azure
Output
Der Befehl generiert Folgendes:
Plandatei (
.github/modernize/{plan-name}/plan.md): Detaillierte Modernisierungsstrategie, einschließlich:- Kontext und Ziele
- Ansatz und Methodik
- Klarstellungen
Aufgabenliste (
.github/modernize/{plan-name}/tasks.json): Strukturierte Aufschlüsselung ausführbarer Aufgaben mit:- Aufgabenbeschreibungen
- Zu verwendende Fähigkeiten
- Erfolgskriterien
Tipp
Sie können den plan.md Ansatz vor der Ausführung manuell und tasks.json nach der Generierung anpassen.
Planausführung
Führt einen modernisierungsplan aus, der von modernize plan create.
Syntax
modernize plan execute [prompt] [options]
Argumente
| Argument | Beschreibung |
|---|---|
[prompt] |
Die optionalen Anweisungen in natürlicher Sprache für die Ausführung (z. B. "Überspringen von Tests"). |
Options
| Auswahl | Beschreibung | Vorgabe |
|---|---|---|
--source <path> |
Der Pfad zum Anwendungsquellcode. | Aktuelles Verzeichnis |
--plan-name <name> |
Der Name des auszuführenden Plans. | modernization-plan |
--language <lang> |
Die Programmiersprache (java oder dotnet). |
Automatisch erkannt |
--model <model> |
Das zu verwendende LLM-Modell. | claude-sonnet-4.6 |
--delegate <delegate> |
Der Ausführungsmodus: local (dieser Computer) oder cloud (Cloud Coding Agent). |
local |
--force |
Erzwingt die Ausführung, auch wenn ein CCA-Auftrag ausgeführt wird. | Deaktiviert |
Beispiele
Führen Sie den neuesten Plan interaktiv aus:
modernize plan execute
Ausführen eines bestimmten Plans:
modernize plan execute --plan-name spring-boot-upgrade
Ausführen mit zusätzlichen Anweisungen:
modernize plan execute "skip the test" --plan-name spring-boot-upgrade
Wird im Headless-Modus für CI/CD ausgeführt:
modernize plan execute --plan-name spring-boot-upgrade --no-tty
Ausführungsverhalten
Während der Ausführung:
Lädt den Plan: Liest die Plan- und Aufgabenliste aus
.github/modernization/{plan-name}/Führt Aufgaben aus: Verarbeitet jede Aufgabe in der Aufgabenliste sequenziell:
- Wendet Codetransformationen an.
- Überprüft Builds nach Änderungen.
- Sucht nach CVEs.
- Führt Änderungen mit beschreibenden Nachrichten durch.
Generiert zusammenfassung: Stellt einen Bericht aller Änderungen und Ergebnisse bereit.
Output
- Commitverlauf: Detaillierte Commits für jede ausgeführte Aufgabe.
- Zusammenfassungsbericht: Übersicht über Änderungen, Erfolge und alle aufgetretenen Probleme.
- Buildüberprüfung: Bestätigung, dass die Anwendung erfolgreich erstellt wurde.
- CVE-Bericht: Sicherheitsrisiken identifiziert und behoben.
upgrade
Führt einen End-to-End-Upgrade-Workflow – Plan und Ausführung – in einem einzigen Befehl aus.
Syntax
modernize upgrade [prompt] [options]
Argumente
| Argument | Beschreibung |
|---|---|
[prompt] |
Die Zielversion, zJava 17. B. , Spring Boot 3.2.NET 10. Standardmäßig wird das neueste LTS verwendet. |
Options
| Auswahl | Beschreibung | Vorgabe |
|---|---|---|
--source <source> |
Der Pfad zum Quellprojekt (relativer oder absoluter lokaler Pfad). |
. (aktuelles Verzeichnis) |
--delegate <delegate> |
Der Ausführungsmodus: local (dieser Computer) oder cloud (Cloud Coding Agent). |
local |
--model <model> |
Das zu verwendende LLM-Modell. | claude-sonnet-4.6 |
Beispiele
Führen Sie die Ausführung upgrade im aktuellen Verzeichnis aus:
modernize upgrade "Java 17"
modernize upgrade ".NET 10"
Ausführen upgrade für ein bestimmtes Projekt:
modernize upgrade "Java 17" --source /path/to/project
Ausführen upgrade mithilfe des Cloud Coding-Agents:
modernize upgrade "Java 17" --delegate cloud
help
Stellt Hilfe- und Informationsbefehle bereit.
Syntax
modernize help [command]
Befehle
| Befehl | Beschreibung |
|---|---|
models |
Listet verfügbare LLM-Modelle und deren Multiplikatoren auf. |
Beispiele
Verfügbare Modelle auflisten:
modernize help models
Konfigurieren der CLI
Mithilfe des Modernisierungs-Agents können Sie das Anwendungsverhalten über JSON-Dateien und Umgebungsvariablen anpassen.
Umgebungsvariablen
Legen Sie Umgebungsvariablen fest, um alle anderen Konfigurationsbereiche außer Kraft zu setzen:
| Variable | Beschreibung | Vorgabe |
|---|---|---|
MODERNIZE_LOG_LEVEL |
Protokollierungsebene (none, error, warning, info, , debug) all |
info |
MODERNIZE_MODEL |
Das zu verwendende LLM-Modell. | claude-sonnet-4.6 |
MODERNIZE_COLLECT_TELEMETRY |
Aktivieren oder Deaktivieren der Telemetriesammlung. | true |
Beispiel:
export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess
Benutzerkonfiguration
Speichern Sie benutzerspezifische Einstellungen in ~/.modernize/config.json oder repositoryweite Einstellungen in .github/modernize/config.json.
{
"model": "claude-sonnet-4.6",
"log_level": "info",
"trusted_folders": [
"/path/to/trusted/project",
]
}
Die trusted_folders Eigenschaft gibt die Ordner an, die für die Verwendung von LLM im interaktiven Modus vertrauenswürdig sind.
Hinweis
Umgebungsvariablen haben die höchste Priorität, gefolgt von der Benutzerkonfiguration und dann die Repositorykonfiguration. Verwenden Sie Umgebungsvariablen für CI/CD-Außerkraftsetzungen und Benutzerkonfigurationen für persönliche Einstellungen.
Konfiguration für mehrere Repositorys
Erstellen Sie eine .github/modernize/repos.json Datei, um den Modus für mehrere Repositorys zu aktivieren:
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
]
Nachdem die repos.json Datei vorhanden ist, verwenden Sie die folgenden Befehle, um in allen konfigurierten Repositorys zu arbeiten:
Bewerten aller Repositorys lokal:
modernize assess
Bewerten Sie alle Repositorys mithilfe des Cloud Coding-Agents:
modernize assess --delegate cloud
Aktualisieren Sie alle Repositorys mithilfe des Cloud Coding-Agents:
modernize upgrade --delegate cloud