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.
Mit dem Batchupgrade können Sie konsistente Modernisierungspläne für mehrere Repositorys gleichzeitig anwenden. In diesem Artikel wird gezeigt, wie Sie mehrere Anwendungen effizient im Unternehmensmaßstab aktualisieren.
Mithilfe des Batchupgrades können Sie folgende Aktionen ausführen:
- Führen Sie ein gleichzeitiges Upgrade mehrerer Anwendungen mithilfe desselben Upgradeziels durch.
- Wenden Sie konsistente Muster mithilfe ähnlicher Upgrademuster für alle Anwendungen an.
- Nutzen Sie die parallele Ausführung beim Delegieren an Cloud Coding Agents.
Batchupgrade bietet die folgenden Vorteile:
Konsistente Ausführung:
- Standardisierter Ansatz: Wenden Sie die gleichen Modernisierungsmuster für alle Repositorys an.
- Reduzierte Variabilität: Stellen Sie konsistente Upgradepfade für ähnliche Anwendungen sicher.
- Wiederverwendbare Strategien: Verwenden Sie organisationsspezifische Fähigkeiten in allen Anwendungen.
Skalierung und Effizienz:
- Parallele Verarbeitung: Verwenden Sie Cloud Coding Agents, um mehrere Repositorys gleichzeitig zu verarbeiten.
- Automatisierte Workflows: Integration mit CI/CD-Pipelines für die geplante Modernisierung.
- Zeitersparnis: Reduzieren Sie die Gesamtmodernisierungszeit von Wochen auf Stunden.
Voraussetzungen
- Modernisieren Sie CLI.
- Eine abgeschlossene Batchbewertung (empfohlen, aber nicht erforderlich).
- Alle Repositorys verwenden dieselbe Programmiersprache (Java oder .NET).
- Zugriff auf alle Repositorys, die Sie aktualisieren möchten.
- GitHub-Authentifizierung konfiguriert (
gh auth login).
Von Bedeutung
Alle Repositorys in einem Batchupgrade müssen dieselbe Programmiersprache verwenden. Wenn ein Repository eine andere Sprache verwendet, kennzeichnet das Batchupgrade das Repository als fehlgeschlagen und überspringt es.
Konfigurieren von Repositorys
Um das Batchupgrade zu aktivieren, erstellen Sie eine .github/modernize/repos.json Datei in Ihrem Arbeitsverzeichnis, in der alle Repositorys aufgelistet sind, die Sie aktualisieren möchten.
Tipp
Für Beispielrepositorys müssen Sie sie zuerst verzweigen und sicherstellen, dass Sie über Administratorberechtigungen verfügen, um den Auftrag an Cloud Coding Agents zu delegieren.
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "ZavaSocialFrontEnd",
"url": "https://github.com/Azure-Samples/ZavaSocialFrontEnd"
}
]
Repository-Konfiguration
Für jeden Eintrag ist Folgendes erforderlich:
- Name: Ein freundlicher Anzeigename für das Repository (in Berichten und Dashboards verwendet).
- url: Die Git-Klon-URL (HTTPS-Format).
Tipp
Sie können Repositorys aus verschiedenen Organisationen einschließen und unterschiedliche Authentifizierungsmethoden verwenden, solange Sie Zugriff haben.
Datei-Lagerplatz
Sie müssen die Datei repos.json an .github/modernize/repos.json platzieren.
Der Modernisierungs-Agent erkennt diese Datei automatisch beim Ausführen von Batchvorgängen.
Auswählen des Ausführungsmodus
Batchupgrade unterstützt zwei Ausführungsmodi und zwei Interaktionsmethoden:
Ausführungsmodi
Lokale Ausführung
- Am besten geeignet für: Testen, kleinere Repositorys (1-5 Repositorys) oder wenn Sie die lokale Steuerung bevorzugen.
- Funktionsweise: Verarbeitet Repositorys sequenziell auf Ihrem lokalen Computer.
- Setup erforderlich: Keine über die grundlegenden Voraussetzungen hinaus.
Cloud Coding Agent-Delegierung
- Am besten geeignet für: Unternehmensweite Vorgänge, große Portfolios (5+ Repos) oder parallele Verarbeitung.
- Funktionsweise: Sendet Aufgaben an GitHub Cloud Coding Agents für die parallele Ausführung in der Cloud.
- Setup erforderlich: MCP-Serverkonfiguration in jedem Repository (konfiguriert während des Setups).
Tipp
Durch die parallele Verarbeitung von Repositorys kann die Cloud Coding Agent-Delegierung die Gesamtmodernisierungszeit von Stunden zu Minuten reduzieren.
Interaktionsmethoden
Interaktiver Modus (TUI)
- Geführte Erfahrung mit Menüs und Eingabeaufforderungen.
- Am besten geeignet für Benutzer zum ersten Mal oder wenn Sie Optionen überprüfen möchten.
- Unterstützt sowohl die lokale als auch die Cloudausführung.
Nicht-interaktiver Modus (CLI/headless)
- Befehlszeilenbasiert, vollständig automatisiert.
- Am besten geeignet für CI/CD-Pipelines und Automatisierung.
- Unterstützt sowohl die lokale als auch die Cloudausführung mit
--delegate cloudFlag.
Hinweis
Sie können jeden Ausführungsmodus mit jeder Interaktionsmethode kombinieren. Beispiel:
-
modernize(interaktiv, lokal) -
modernize→ Cloud Coding Agents (interaktiv, Cloud) auswählen -
modernize upgrade "Java 21"(nicht interaktiv, lokal) -
modernize upgrade "Java 21" --delegate cloud(nicht interaktiv, Cloud)
Funktionsweise des Batchupgrades
Der Stapel-Upgrade-Workflow:
- Spracherkennung: Erkennt die Projektsprache (Java oder .NET) automatisch aus dem ersten Repository.
- Planerstellung: Erstellt einen Upgradeplan basierend auf Ihrer Eingabeaufforderung oder verwendet die neuesten LTS-Versionen.
- Ausführung: Wendet das Upgrade auf jedes Repository an.
- Überprüfung: Erstellt und überprüft Änderungen für jedes Repository.
Batchupgrade ausführen
Nachdem Sie Ihre Repositorys konfiguriert und einen Ausführungsmodus ausgewählt haben, starten Sie das Batchupgrade.
Interaktiver Modus (lokal aktualisieren)
Führen Sie den Modernisierungs-Agent aus:
modernizeDer Agent erkennt die
repos.jsonDatei und zeigt die Repositoryliste an:Wählen Sie Repositorys aus, um ein Upgrade durchzuführen, und drücken Sie
Enter, um Ihre Auswahl zu bestätigen.-
Presse
Ctrl+Aum alle Repositorys auszuwählen. -
Oder verwenden Sie pfeiltasten , um zu navigieren und zu drücken
Enter, um einzelne Repositorys auszuwählen.
-
Presse
Wählen Sie im Hauptmenü 2. Upgrade aus.
Um das Upgrade auszuführen, wählen Sie "1" aus. Lokal aktualisieren.
Der Agent arbeitet automatisch:
- Erstellt einen Upgradeplan basierend auf Ihrer Anforderung.
- Wendet den Plan auf jedes Repository sequenziell an.
- Erstellt und überprüft jedes Repository nach Änderungen.
- Zeigt Fortschritt und Zusammenfassung für jedes Repository an.
Interaktiver Modus (Delegieren an Cloud Coding Agents)
Voraussetzungen: Konfigurieren des MCP-Servers
Konfigurieren Sie vor dem Ausführen des Upgrades den GitHub Copilot Modernization MCP-Server in jedem Repository.
Fügen Sie für Java-Anwendungen diese Konfiguration im Abschnitt "Cloud Coding Agent" Ihrer Repositoryeinstellungen hinzu:
{
"mcpServers": {
"app-modernization": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"-y",
"@microsoft/github-copilot-app-modernization-mcp-server"
]
}
}
}
Schritte
Führen Sie den Modernisierungs-Agent aus:
modernizeDer Agent erkennt die
repos.jsonDatei und zeigt die Repositoryliste an:Wählen Sie Repositorys aus, um ein Upgrade durchzuführen, und drücken Sie
Enter, um Ihre Auswahl zu bestätigen.-
Presse
Ctrl+Aum alle Repositorys auszuwählen. -
Oder verwenden Sie pfeiltasten , um zu navigieren und zu drücken
Enter, um einzelne Repositorys auszuwählen.
-
Presse
Wählen Sie im Hauptmenü 2. Upgrade aus.
Um das Upgrade auszuführen, wählen Sie "2" aus. Delegieren sie an Cloud Coding Agents.
Der Agent arbeitet automatisch:
Erstellt Upgradepläne für jedes Repository.
Sendet einen Cloud Coding Agent-Auftrag für jedes Repository.
Führt Aufträge unabhängig parallel in der Cloud aus.
Zeigt Auftrags-IDs und PR-URLs für jedes Repository an.
Delegiert Aufgaben für die parallele Ausführung an AgentHQ.
Verfolgt den Fortschritt für jeden einzelnen Vorgang in Echtzeit.
Zeigt die Upgradezusammenfassung für jede abgeschlossene Aufgabe an.
Nicht interaktiver Modus (CLI)
Verwenden Sie für die Automatisierungs- und CI/CD-Integration den modernize upgrade Befehl:
Lokal aktualisieren:
modernize upgrade "Java 21"
Upgrade mit Cloud Coding Agents:
modernize upgrade "Java 21" --delegate cloud
Der Befehl erkennt automatisch die repos.json Datei und verarbeitet alle Repositorys.
Hinweis
Informationen zur Batchkopflose Ausführung und weitere CLI-Optionen finden Sie im Abschnitt "Konfiguration mehrerer Repositorys " in der CLI-Befehlsreferenz.
Überprüfen der Ergebnisse
Nach Abschluss des Batchupgrades:
Überprüfen Sie den aggregierten Bericht , der im Terminal angezeigt wird.
Überprüfen sie einzelne Repositoryänderungen:
cd <repository-name> git status git diffErstellen von Pullanforderungen für erfolgreiche Upgrades:
cd <repository-name> gh pr create --title "Upgrade to Java 21" --body "Automated upgrade by modernization agent"
Problembehandlung bei Batchupgrades
Häufige Probleme
Fehler beim Repositoryzugriff:
- Überprüfen Sie die GitHub-Authentifizierung mithilfe von
gh auth status. - Stellen Sie sicher, dass Sie Zugriff auf alle Repositorys haben in
repos.json.
Fehler bei der Sprachübereinstimmung:
- Stellen Sie sicher, dass alle Repositorys
repos.jsondieselbe Sprache verwenden (Java oder .NET). - Erstellen Sie separate Batchvorgänge für verschiedene Sprachen.
Klonfehler:
- Überprüfen Sie, ob die Repository-URLs in
repos.jsonkorrekt und zugänglich sind. - Stellen Sie sicher, dass Sie über die richtigen Zugriffsberechtigungen für alle Repositorys verfügen.
- Überprüfen Sie die Netzwerkkonnektivität und VPN-Einstellungen.
Buildfehler nach dem Upgrade:
- Überprüfen Sie Buildfehlermeldungen im aggregierten Bericht.
- Überprüfen Sie, ob Sie andere Abhängigkeiten aktualisieren müssen.
- Überprüfen Sie die Kompatibilität von Drittanbieterbibliotheken mit der neuen Version.
Einzelne Repositoryfehler:
- Der Batchvorgang wird auch dann fortgesetzt, wenn einzelne Repositorys fehlschlagen.
- Überprüfen Sie den aggregierten Bericht, um fehlerhafte Repositorys zu identifizieren.
- Überprüfen Sie Fehlerprotokolle auf bestimmte Fehlermeldungen.
- Wiederholen Sie fehlgeschlagene Repositorys einzeln.
Cloud Coding Agent-Fehler:
- Überprüfen Sie Die Berechtigungen und Kontingentbeschränkungen für GitHub-Aktionen.
- Stellen Sie für .NET Framework sicher, dass die Windows-Runner-Konfiguration ordnungsgemäß festgelegt ist.
Nächste Schritte
Nach Abschluss des Batchupgrades können Sie:
Weiter verbessern:
- Führen Sie die Batchbewertung aus– Überprüfen Sie Verbesserungen, und identifizieren Sie neue Möglichkeiten.
- Erstellen Sie benutzerdefinierte Fähigkeiten für organisationsspezifische Muster – Erfassen Sie erfolgreiche Muster für die Wiederverwendung.
Weitere Informationen:
Feedback geben
Wir schätzen Ihre Eingabe! Wenn Sie Feedback zum Batchupgrade oder zum Modernisierungs-Agent haben, erstellen Sie ein Problem im Github-copilot-appmod-Repository , oder verwenden Sie das GitHub Copilot Modernisierungsfeedback-Formular.