Freigeben über


Batch-Auswertung mit dem GitHub Copilot-Modernisierungsagent

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.
  • Zusammengefasster Bericht: Stellt eine allgemeine Perspektive aller bewerteten Anwendungen dar, die zusammenfassungserkenntnisse, Empfehlungen zu Azure-Diensten, Zielplattformen und Upgradepfaden bieten. 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.
  • Die GitHub-Authentifizierung ist konfiguriert (gh auth login).

Konfigurieren von Repositorys

Um die Batchbewertung zu aktivieren, erstellen Sie eine .github/modernize/repos.json Datei in Ihrem Arbeitsverzeichnis, in der alle Repositorys aufgelistet sind, die Sie bewerten möchten.

Stellen Sie sicher, dass Sie über die richtigen Berechtigungen für die Repositories verfügen oder diese forken.

[
  {
    "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"
  }
]

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 im 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, wenn batchvorgänge ausgeführt werden.

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.
  • Cloud Coding Agent-Delegierung: Der Modernisierungs-Agent sendet Aufgaben an GitHub Cloud Coding Agents für die parallele Verarbeitung in der Cloud. Dieser Modus ist für Szenarien mit mehreren Repositorys schneller.

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)

  1. Führen Sie den Modernisierungs-Agent aus:

    modernize
    
  2. Der Agent erkennt die repos.json Datei und zeigt die Repositoryliste an:

    Screenshot der Modernize CLI, die die Repositoryliste im Terminal anzeigt.

  3. Wählen Sie die zu bewertenden Repositories aus, und drücken Sie Enter, um Ihre Auswahl zu bestätigen.

    • Presse Ctrl+A um alle Repositorys auszuwählen.
    • Verwenden Sie pfeiltasten , um zu navigieren und zu drücken Space , um einzelne Repositorys auszuwählen.
  4. Wählen Sie 1. Anwendung bewerten über das Hauptmenü.

    Screenshot der Modernize CLI, die das Menü

  5. Zum Durchführen der Analyse wählen Sie entweder eine lokale Bewertung oder delegieren Sie diese an Cloud-Codierungs-Agenten. Wählen Sie "1. Lokal bewerten" aus.

    Screenshot der Modernize CLI, die das Analysemenü im Terminal zeigt.

  6. Der Agent arbeitet automatisch:

    • Klont alle ausgewählten Repositorys.

    • Führt die Bewertung für jedes Repository einzeln aus.

    • Generiert einzelne Bewertungsberichte.

      Screenshot der Modernize CLI, die die Ausgabe der Erstellung einzelner Bewertungsberichts im Terminal zeigt.

    • Erstellt einen aggregierten Bericht.

      Screenshot der Modernize CLI, die die Ausgabe der aggregierten Berichtsgenerierung im Terminal zeigt.

  7. Nach Abschluss der Bewertung öffnet der Agent automatisch den aggregierten Bericht.

    Screenshot der Modernize CLI, die den Inhalt des aggregierten Berichts zeigt.

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 unter 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-Einrichtungsschritten

Firewall deaktivieren

Deaktivieren Sie die integrierte Firewall des Copilot-Codierungs-Agents in Ihren Repositoryeinstellungen, wie in der folgenden Abbildung dargestellt:

Screenshot von GitHub, in dem die Repositoryeinstellungen mit der Einstellung

Konfiguration für Java-Anwendungen

Konfigurieren Sie gitHub Copilot Modernization MCP Server im Abschnitt "Cloud Coding Agent" Ihrer Repositoryeinstellungen, wie im folgenden Beispiel gezeigt:

{
  "mcpServers": {
    "app-modernization": {
      "type": "local",
      "command": "npx",
      "tools": [
        "*"
      ],
      "args": [
        "-y",
        "@microsoft/github-copilot-app-modernization-mcp-server"
      ]
    }
  }
}

Screenshot von GitHub, das die Code-Agent-Einstellungen des Repositories mit dem hervorgehobenen MCP-Konfigurationsabschnitt zeigt.

Schritte

  1. Führen Sie den Modernisierungs-Agent aus:

    modernize
    
  2. Der Agent erkennt die repos.json Datei und zeigt die Repositoryliste an:

    Screenshot der Modernize CLI, die die Repositoryliste im Terminal anzeigt.

  3. Wählen Sie die zu bewertenden Repositories aus, und drücken Sie Enter, um Ihre Auswahl zu bestätigen.

    • Presse Ctrl+A um alle Repositorys auszuwählen.
    • Verwenden Sie pfeiltasten , um zu navigieren und zu drücken Space , um einzelne Repositorys auszuwählen.
  4. Wählen Sie 1. Anwendungen bewerten aus dem Hauptmenü.

    Screenshot der Modernize CLI, die das Menü

  5. Um die Bewertung auszuführen, wählen Sie "2" aus. Delegieren sie an Cloud Coding Agents.

    Screenshot des Modernize CLI, das das Bewertungsmenü mit der Option

  6. Der Agent delegiert automatisch Bewertungsaufgaben für jedes Repository an Cloud Coding Agents und führt sie parallel in der Cloud aus.

    Screenshot der Modernize CLI, die die Ausgabe des Fortschritts der Delegierung der Bewertung an Cloud Coding Agents im Terminal zeigt.

    Der Agent ruft dann die Ergebnisse der App-Bewertungen zurück zur lokalen Umgebung und generiert den aggregierten Bericht lokal.

    Screenshot der Modernize CLI, die die Aggregating Assessment Reports im Terminal zeigt.

  7. 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 bewerten:

modernize assess --multi-repo

Bewerten Sie, indem Sie Cloud Coding Agents einsetzen:

modernize assess --delegate cloud

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 Services: 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. 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 die GitHub-Authentifizierung mithilfe von gh auth status.
  • Stellen Sie sicher, dass Sie Zugriff auf alle Repositories haben, die in repos.json aufgeführt sind.

Klonfehler:

  • Überprüfen Sie, ob die Repository-URLs in repos.json korrekt 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 vorhanden sind, z. B. pom.xml, build.gradle, *.csproj oder *.sln.
  • Überprüfen Sie Fehlermeldungen in der Konsolenausgabe.

Delegierungsprobleme des Cloud Coding-Agents:

  • Stellen Sie sicher, dass Sie über die richtigen Berechtigungen zum Erstellen von GitHub-Aktionen-Workflows verfügen.
  • Überprüfen Sie Die Berechtigungen und Kontingentbeschränkungen für GitHub-Aktionen für Ihre Organisation.
  • Stellen Sie für .NET Framework-Apps sicher, dass die 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:

Weitere Informationen:

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 Modernisierungsfeedback-Formular.