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.
Mithilfe der Batchbewertung können Sie mehrere Anwendungen gleichzeitig analysieren und eine umfassende Übersicht über die Modernisierungslandschaft in Ihren Anwendungen bereitstellen. Dieser Artikel führt Sie durch den Prozess der effizienten Bewertung mehrerer Repositorys.
Die Batchbewertung ist besonders für die Migrationsplanung nützlich, da sie es Ihnen ermöglicht, die Bereitschaft und Anforderungen verschiedener Anwendungen gleichzeitig effizient zu bewerten. Mithilfe der Batchbewertung können Sie verschiedene Repositorys gleichzeitig auswerten und detaillierte Bewertungsberichte für jede Anwendung abrufen. Es erstellt zwei Arten von Berichten zur Unterstützung Ihrer Migrationsplanung:
- Pro App-Bericht: Bietet detaillierte Einblicke in alle Modernisierungsprobleme, die auf Ebene einzelner Repositories identifiziert wurden.
- Aggregated-Bericht: Stellt eine Gesamtperspektive aller bewerteten Anwendungen dar, bietet zusammenfassende Einblicke, Empfehlungen zu Azure Diensten, Zielplattformen und Upgradepfaden. Darüber hinaus enthält der aggregierte Bericht Tastenkombinationen für den einfachen Zugriff auf jeden App-Bericht.
Die Batchbewertung bietet die folgenden Vorteile:
Anwendungsübergreifende Sichtbarkeit:
- Aggregierte Berichte: Erhalten Sie eine umfassende Ansicht für alle Anwendungen.
- Repositoryübergreifende Analyse: Identifizieren allgemeiner Muster und Abhängigkeiten in allen Anwendungen.
- Priorisierungserkenntnisse: Verstehen, welche Anwendungen sofortige Aufmerksamkeit benötigen.
Skalierung und Effizienz:
- Parallele Verarbeitung: Verwenden Sie Cloud Coding Agents, um mehrere Repositorys gleichzeitig zu verarbeiten.
- Automatisierte Workflows: Integration in CI/CD-Pipelines für geplante Bewertungen.
- Zeitersparnis: Reduzieren Sie die Gesamtbewertungszeit von Wochen auf Stunden.
Voraussetzungen
- Modernisieren Sie CLI.
- Zugriff auf alle Repositorys, die Sie bewerten möchten.
- GitHub Authentifizierung ist konfiguriert (
gh auth login).
Konfigurieren von Repositorys
Der Modernisierungs-Agent unterstützt mehrere Möglichkeiten zum Angeben der Repositorys, die Sie bewerten möchten:
- Aktueller Ordner: Bewerten sie das Projekt in Ihrem aktuellen Arbeitsverzeichnis.
- Manuelle Eingabe: Geben Sie lokale Verzeichnispfade oder Git-Remote-URLs direkt ein.
- Repositorykonfigurationsdatei: Verwenden Sie eine JSON-Konfigurationsdatei, die alle Repositorys auflistet.
Konfigurationsdatei für das Repository
Erstellen Sie für Batchvorgänge in vielen Repositorys eine JSON-Konfigurationsdatei, um alle Repositorys auflisten zu können. Erstellen Sie es .github/modernize/repos.json beispielsweise in Ihrem Arbeitsverzeichnis, oder geben Sie einen benutzerdefinierten Pfad an.
Stellen Sie sicher, dass Sie über die richtigen Berechtigungen für die Repositories verfügen oder diese forken.
Einfaches Format (Array von Repositorys):
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
},
{
"name": "eShopOnWeb",
"url": "https://github.com/dotnet-architecture/eShopOnWeb.git"
}
]
Vollständiges Format (mit Verzweigungs- und lokalen Pfaden):
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "local-project",
"path": "/absolute/path/to/project"
}
]
}
Jeder Repositoryeintrag unterstützt die folgenden Felder:
| Feld | Beschreibung | Erforderlich |
|---|---|---|
name |
Ein freundlicher Name des Repository (in Berichten und Dashboards verwendet). | Ja |
url |
Git Clone URL im HTTPS- oder SSH-Format. | Einer von url oder path |
path |
Absoluter lokaler Verzeichnispfad. | Einer von url oder path |
branch |
Branch zum Auschecken nach dem Klonen. | No |
description |
Menschenlesbare Beschreibung. | No |
Vollständiges Format mit App-Gruppierung (optional, für organisierte Berichte):
Sie können einen apps[] Abschnitt hinzufügen, um Repositorys zu logischen Anwendungen zusammenzufassen. Wenn Apps definiert sind, organisiert der aggregierte Bericht Ergebnisse nach Anwendung und unterstützt die Berichtsverteilung an externe Ziele.
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
],
"apps": [
{
"identifier": "photo-app",
"description": "Photo management application",
"repos": ["PhotoAlbum-Java"],
"output": {
"type": "local",
"path": "/path/to/reports/photo-app"
}
}
]
}
Jeder App-Eintrag unterstützt Folgendes:
| Feld | Beschreibung | Erforderlich |
|---|---|---|
identifier |
Eindeutiger Anzeigename der Anwendung. | Ja |
description |
Menschenlesbare Beschreibung. | No |
repos |
Liste der Repositorynamen, die zu dieser App gehören. | Ja |
output |
Wo der Bewertungsbericht dieser App nach der Generierung verteilt werden soll. | No |
Das output Feld unterstützt die folgenden Verteilungstypen:
| Typ | Beschreibung | Pflichtfelder |
|---|---|---|
local |
Kopieren Sie Berichte in ein lokales Verzeichnis. | path |
git |
Pushberichte an ein Git-Repository. Das URL-Format ist https://github.com/org/repo.git#branch:path. |
url |
Tipp
Sie können Repositorys aus verschiedenen Organisationen einschließen und unterschiedliche Authentifizierungsmethoden verwenden, solange Sie Zugriff haben.
Der Modernisierungs-Agent erkennt automatisch die
Batchbewertung ausführen
Es stehen zwei Ausführungsmodi zur Verfügung:
- Lokale Ausführung: Der Modernisierungs-Agent verarbeitet Repositorys nacheinander auf Ihrem lokalen Computer. Dieser Modus eignet sich am besten für eine kleinere Gruppe von Anwendungen oder für erste Tests. Unterstützt sowohl Git-URLs als auch lokale Pfad-Repositorys.
- Cloud Coding Agent-Delegierung: Der Modernisierungs-Agent sendet Aufgaben an GitHub Cloud Coding Agents zur parallelen Verarbeitung in der Cloud. Dieser Modus ist für Szenarien mit mehreren Repositorys schneller.
Von Bedeutung
Für die Delegierung von Cloud Coding Agenten müssen Repositorys über GitHub (github.com) Repository-URLs verfügen. Lokale Pfadrepositorys und Nicht-GitHub-Anbieter (GitLab, Azure DevOps) werden für die Clouddelegierung nicht unterstützt. Verwenden Sie die lokale Ausführung für diese Repositorys.
Tipp
Mithilfe der Cloud Coding Agent-Delegierung aktivieren Sie die parallele Ausführung in allen Repositorys. Dieser Ansatz reduziert die Gesamtbewertungszeit für große Portfolios erheblich.
Interaktiver Modus (lokal bewerten)
Führen Sie den Modernisierungs-Agent aus:
modernizeWählen Sie im Hauptmenü "Bewerten" aus.
Wählen Sie aus, wie Ihre Zielrepositorys angegeben werden sollen. Wählen Sie "Aus einer Konfigurationsdatei " aus, um eine
repos.jsonDatei zu verwenden.Tipp
Sie können auch manuelle Eingaben auswählen, um lokale Pfade oder Remote-Git-URLs direkt einzugeben, oder den aktuellen Ordner , um das Projekt in Ihrem aktuellen Verzeichnis zu bewerten.
Wenn die
repos.jsonDatei am Standardspeicherort erkannt wird, füllt der Agent sie automatisch aus. Geben Sie andernfalls den Pfad zu Ihrer Konfigurationsdatei ein, und drücken Sie die EINGABETASTE.Alle Repositorys sind standardmäßig ausgewählt. Deaktivieren Sie alle Repositorys, die Sie überspringen möchten, und drücken Sie dann die EINGABETASTE , um Ihre Auswahl zu bestätigen.
- Verwenden Sie pfeiltasten , um zu navigieren und die LEERTASTE zu drücken, um einzelne Repositorys umzuschalten.
Wählen Sie den Ausführungsmodus aus. Wählen Sie "Lokal bewerten" aus.
Wählen Sie die zu analysierenden Bewertungsdomänen aus. Wählen Sie aus Java Upgrade und Cloud Readiness aus, und drücken Sie dann Enter.
Überprüfen und konfigurieren Sie die Bewertungsoptionen. Auf der Konfigurationsseite sind Optionen nach Sprache und Domäne gruppiert:
Java / GENERAL : Analyseabdeckung (nur Probleme, Probleme & Technologien, oder Probleme, Technologien & Abhängigkeiten).- Java/JAVA UPGRADE: Target Runtime (OpenJDK 11, 17 oder 21).
- Java / CLOUD READINESS: Target Compute Services, Target Operating System und Containerisierung.
- .NET / CLOUD READINESS: Target Compute Services.
Verwenden Sie die Pfeiltasten, um zu navigieren, drücken Sie die EINGABETASTE , um einen Wert zu ändern, oder wählen Sie "Weiter" , um mit den aktuellen Einstellungen fortzufahren.
Tipp
Die empfohlenen Standardwerte funktionieren für die meisten Szenarien. Sie müssen diese Einstellungen nur ändern, wenn Sie bestimmte Anforderungen haben, z. B. für eine bestimmte JDK-Version oder Azure Computedienst.
Geben Sie den Ausgabepfad für Bewertungsergebnisse ein, oder drücken Sie die EINGABETASTE , um die Standardeinstellung zu übernehmen.
Der Agent arbeitet automatisch:
Nach Abschluss der Bewertung öffnet der Agent automatisch den aggregierten Bericht.
Interaktiver Modus (Delegieren an Cloud Coding Agents)
Konfigurieren Sie zunächst Cloud Coding Agents in jedem Anwendungs-Repository. Um Cloud Coding Agents zu konfigurieren, forken Sie die Beispiel-Repositories.
Konfiguration für .NET Anwendungen
Konfigurieren für die Ausführung auf Windows für .NET Framework-Anwendungen
Standardmäßig wird der Copilot Coding Agent in einer Ubuntu Linux-Umgebung ausgeführt. Für .NET Framework-Anwendungen benötigen Sie eine Windows Umgebung. Um es zu aktivieren, konfigurieren Sie .github/workflows/copilot-setup-steps.yaml in der main Verzweigung Ihres Anwendungs-Repositorys, wie im folgenden Beispiel gezeigt:
# Windows-based Copilot Setup Steps for .NET tasks
# Note: Windows runners have firewall limitations that may affect some network operations
# Use this workflow for .NET projects that require Windows-specific tooling
name: "Copilot Setup Step (Windows)"
on:
workflow_dispatch:
jobs:
copilot-setup-steps:
runs-on: windows-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v5
Weitere Informationen finden Sie unter: Anpassen der Copilot-Entwicklungsumgebung mit den Copilot-Einrichtungsanweisungen
Firewall deaktivieren
Deaktivieren Sie die integrierte Firewall des Copilot-Codierungsagents in den Einstellungen Ihres Repositories, wie in der Abbildung unten dargestellt.
Konfiguration für Java Anwendungen
Konfigurieren Sie den GitHub Copilot Modernization MCP-Server im Abschnitt 'Cloud Coding Agent' Ihrer Repository-Einstellungen, wie im folgenden Beispiel veranschaulicht:
{
"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:
modernizeWählen Sie im Hauptmenü "Bewerten" aus.
Wählen Sie aus, wie Ihre Zielrepositorys angegeben werden sollen. Wählen Sie Ab einer Konfigurationsdatei aus, um eine datei
repos.jsonzu verwenden, oder wählen Sie Manual input aus, um GitHub Repository-URLs direkt einzugeben.Wenn Sie "Aus einer Konfigurationsdatei" ausgewählt haben und die
repos.jsonDatei am Standardspeicherort erkannt wird, füllt der Agent sie automatisch aus. Geben Sie andernfalls den Pfad zu Ihrer Konfigurationsdatei ein, und drücken Sie die EINGABETASTE.Alle Repositorys sind standardmäßig ausgewählt. Deaktivieren Sie alle Repositorys, die Sie überspringen möchten, und drücken Sie dann die EINGABETASTE , um Ihre Auswahl zu bestätigen.
- Verwenden Sie pfeiltasten , um zu navigieren und die LEERTASTE zu drücken, um einzelne Repositorys umzuschalten.
Wählen Sie den Ausführungsmodus aus. Wählen Sie "An Cloud-Agents delegieren" aus.
Hinweis
Wenn Sie an Cloud Coding Agents delegieren, werden die Schritte für die Domänenauswahl und die Bewertungskonfiguration nicht unterstützt. Der Cloud-Agent verwendet die Standardkonfigurationen, um die Bewertung auszuführen.
Geben Sie den Ausgabepfad für Bewertungsergebnisse ein, oder drücken Sie die EINGABETASTE , um die Standardeinstellung zu übernehmen.
Der Agent delegiert automatisch Bewertungsaufgaben für jedes Repository an Cloud Coding Agents und führt sie parallel in der Cloud aus.
Der Agent ruft die Ergebnisse der Bewertung pro App zurück in das lokale Land und generiert den aggregierten Bericht lokal.
Nach Abschluss der Bewertung öffnet der Agent automatisch den aggregierten Bericht.
Nicht interaktiver Modus (CLI)
Sie können auch nicht interaktiven Modus verwenden, indem Sie Befehlsargumente direkt angeben. Verwenden Sie den Befehl modernize assess:
Lokal mithilfe einer Repositorykonfigurationsdatei bewerten:
modernize assess --source .github/modernize/repos.json
Bewerten Sie mehrere Repositorys, indem Sie Quellen direkt angeben:
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
Bewerten Sie, indem Sie Cloud Coding Agents einsetzen:
modernize assess --source .github/modernize/repos.json --delegate cloud --wait
Weitere Informationen finden Sie unter bewerten - CLI-Befehle.
Grundlegendes zum aggregierten Bericht
Der aggregierte Bericht bietet eine umfassende Übersicht über bewertete Anwendungen wie folgt:
Dashboard
- Momentaufnahme des Portfoliostatus: Gesamtanzahl von Apps, Anzahl der benötigten Upgrades und Aggregierter Blocker und Problemanzahl.
- Technologieverteilung: Welche Frameworks verwendet werden und wie viele Apps sie teilen.
- Aufwandsverteilung: Ob die gesamte Migration ein kleines oder großes Vorhaben ist.
Empfehlungen
- Azure-Dienste: ordnet aktuelle Abhängigkeiten den empfohlenen Azure-Entsprechungen zu. Gemeinsame Abhängigkeiten zwischen Apps werden einmal festgelegt, sodass Sie eine wiederholte Anpassung jeder einzelnen App vermeiden.
- Zielplattform: führt die Hostingauswahl, z. B. Azure Container Apps im Vergleich zu AKS, und zeigt Konsolidierungsmöglichkeiten an.
- Upgradepfad: Gibt an, welche Apps Frameworkupgrades als Voraussetzung benötigen, wodurch die Upgradearbeit von der Migrationsarbeit getrennt wird.
- Migrationswellen: Sequenziert Apps nach Bereitschaft und Risiko in Phasen. Dieser Ansatz ermöglicht frühzeitige Gewinne, während härtere Apps parallel vorbereitet werden.
Anwendungsbewertungsmatrix
- Schnelle Übersicht über jede Anwendung hinsichtlich der Aspekte Framework, Zielplattform, Upgradeempfehlung, Aufschlüsselung der Probleme (Verpflichtend, Mögliches, Optional), Größenbestimmung des Aufwands und mehr.
- Links zu einzelnen App-Berichten für vertiefte Einblicke bei Bedarf.
Problembehandlung bei der Batchbewertung
Häufige Probleme
Fehler beim Repositoryzugriff:
- Überprüfen Sie GitHub Authentifizierung mithilfe von
gh auth status. - Stellen Sie sicher, dass Sie Zugriff auf alle Repositories haben, die in
repos.jsonaufgeführt sind.
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 Ihre Netzwerkkonnektivitäts- und VPN-Einstellungen.
Bewertungsfehler:
- Überprüfen Sie, ob das Repository gültige Java oder .NET Projekte enthält.
- Stellen Sie sicher, dass Builddateien wie
pom.xml,build.gradle,*.csproj,*.slnoder*.slnxvorhanden sind. - Überprüfen Sie Fehlermeldungen in der Konsolenausgabe.
Delegierungsprobleme des Cloud Coding-Agents:
- Stellen Sie sicher, dass Sie über die richtigen Berechtigungen zum Erstellen GitHub Actions Workflows verfügen.
- Überprüfen Sie GitHub Actions Berechtigungen und Kontingentbeschränkungen für Ihre Organisation.
- Stellen Sie für .NET Framework-Apps sicher, dass Windows Runner-Konfiguration ordnungsgemäß festgelegt ist.
- Überprüfen Sie ihre MCP-Serverkonfiguration.
Nächste Schritte
Nach Abschluss der Batchbewertung haben Sie folgende Möglichkeiten:
Den Modernisierungsworkflow fortsetzen:
- Führen Sie batchupgrades über Repositorys aus – Wenden Sie konsistente Upgrades basierend auf Bewertungsergebnissen an.
Weitere Informationen:
- Erstellen Sie benutzerdefinierte Fähigkeiten für organisationsspezifische Muster.
- Erfahren Sie mehr über CLI-Befehle.
Feedback geben
Wir schätzen Ihre Eingabe! Wenn Sie Feedback zur Batchbewertung oder zum Modernisierungs-Agent haben, erstellen Sie ein Problem im Github-copilot-appmod-Repository oder verwenden Sie das GitHub Copilot Modernisierungsfeedbackformular.