Batch-Bewertung mit dem GitHub Copilot Modernisierungsagent

Mithilfe der Batchbewertung können Sie ein Portfolio von Java>Java, .NET und JavaScript/TypeScript Anwendungen in einer einzigen Ausführung analysieren. Sie erhalten einen umfassenden Überblick über die Modernisierungslandschaft in Ihren Anwendungen. Dieser Artikel führt Sie durch den Prozess der effizienten Bewertung mehrerer Repositorys. Der Prozess unterstützt sowohl Einzelsprachenrepositorys als auch mono-repos, die eine Mischung aus Java-, .NET- und JavaScript/TypeScript-Projekten enthalten.

Jede Anwendung wird auf zwei komplementären Spuren analysiert. Bei der Problemüberprüfung werden Probleme gefunden, die Sie beheben müssen. Einblicke in die Codebasis dokumentieren, wie die Anwendung aufgebaut ist, damit Sie Ihre Planung daran ausrichten können.

Problemüberprüfung

Bei der Problemüberprüfung werden Modernisierungs- und Sicherheitsprobleme in drei Domänen erkannt. Die Sprachabdeckung unterscheidet sich je nach Domäne:

  • Upgrade – Laufzeit- und Frameworkversionsanalyse. Deckt Java und .NET ab.
  • Cloud-Bereitschaft — Eignung als Azure-Zielplattform und Migrationsprobleme. Deckt Java und .NET ab.
  • Sicherheit – CVE-Überprüfung über direkte und transitive Abhängigkeiten sowie ISO 5055-geführte CWE-Sicherheitsprobleme . Java nur zurzeit; .NET- und JavaScript/TypeScript-Unterstützung befindet sich in der Roadmap.

Codebase Insights

Codebase Insights dokumentieren, wie jede Anwendung erstellt wird. Sie werden für Java, .NET und JavaScript/TypeScript Projekte erstellt. Sie werden angezeigt, wenn Sie in der Einstellung "Analyseabdeckung " die Option "Vollständige Analyse " auswählen.

  • Architektur – Allgemeines Architekturdiagramm mit Layering, Modulgrenzen, Laufzeittopologie und Einstiegspunkten.
  • API-Verträge – REST, gRPC, Nachrichtenwarteschlange und Webhook-Oberflächen, die die App verfügbar macht oder nutzt. Bewertet den Auswirkungsbereich der Integration vor der Migration.
  • Konfiguration – Konfigurationsdateien, Umgebungsvariablen, Featurekennzeichnungen, Verbindungszeichenfolgen und geheime Schlüssel. Steuert die Migration geheimer Schlüssel und Konfigurationen zum Azure Key Vault und Azure App Configuration.
  • Geschäftsworkflows – End-to-End-Funktionsflüsse, die aus codekonstruiert wurden (z. B. Bestellung → Reservieren → Zahlung → erfüllen). Definiert den Umfang der Regressionstests und die Kommunikation mit den Stakeholdern.
  • Abhängigkeiten – direkte und transitive Bibliotheken, SDKs und Treiber mit angehefteten Versionen. Stellt die Zuordnung von Azure-Diensten bereit und zeigt EOL- oder Beta-Kennzeichnungen an.
  • Datenmodell – Datenbanken, Schemas, Schlüsselentitäten und Beziehungen aus ORM-Zuordnungen und DDL. Steuert die Planung der Migration der Datenebene.

Berichte

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 Repositorybericht: Bietet detaillierte Einblicke in die beiden Aspekte, die auf der einzelnen Repositoryebene identifiziert wurden.
  • Aggregated-Bericht: Stellt eine Gesamtperspektive aller bewerteten Anwendungen dar, bietet zusammenfassende Einblicke, Empfehlungen zu Azure Diensten, Zielplattformen, Upgradepfade, Migrationsstrategien und Migrationswellen. Darüber hinaus enthält der zusammengefasste Bericht Verknüpfungen für den einfachen Zugriff auf die einzelnen repositoryspezifischen Berichte.

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-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 Datei , wenn Sie "Aus einer Konfigurationsdatei" im interaktiven Modus auswählen. Sie können auch einen benutzerdefinierten Pfad angeben.

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-Agentdelegierung: Der Modernisierungs-Agent sendet Aufgaben an GitHub Copilot Cloud-Agents zur parallelen Verarbeitung in der Cloud. Dieser Modus ist für Szenarien mit mehreren Repositorys schneller.

Von Bedeutung

Die Delegierung des Cloud-Agenten setzt voraus, dass Repositorys GitHub (github.com)-Repository-URLs haben. 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-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. Wählen Sie im Hauptmenü "Bewerten" aus.

    Screenshot der Modernize CLI, die das Hauptmenü mit der Option

  3. Wählen Sie aus, wie Ihre Zielrepositorys angegeben werden sollen. Wählen Sie "Aus einer Konfigurationsdatei " aus, um eine repos.json Datei zu verwenden.

    Screenshot der Modernize CLI, die die Auswahl des Quelltyps im Terminal zeigt.

    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.

  4. Wenn die repos.json Datei 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.

  5. 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.

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

  6. Wählen Sie die zu analysierenden Bewertungsdomänen aus. Upgrade und Cloud Readiness werden für Java- und .NET Projekte im Repository ausgeführt. Security ist standardmäßig deaktiviert und wird nur für Java Projekte ausgeführt. Wählen Sie es aus, um nach CVE-Sicherheitsrisiken und ISO 5055-geführten CWE-Problemen zu suchen.

    Screenshot der Modernize CLI, die die Bewertungsdomänenauswahl im Terminal zeigt.

  7. Überprüfen und konfigurieren Sie die Bewertungsoptionen. Auf der Konfigurationsseite sind Optionen nach Sprache und Domäne gruppiert:

    • Allgemein / Analyseabdeckung:
      • Nur Probleme (Standard): Erkennt Modernisierungs- und Sicherheitsprobleme in Ihrem Quellcode. Schnellste Option.
      • Vollständige Analyse: Erkennt Probleme und generiert zusätzlich Codebasiseinblicke über sechs Aspekte Ihrer Anwendung – Architektur, API-Verträge, Konfiguration, Geschäftsworkflows, Abhängigkeiten und Datenmodell. Die Ausführung dauert länger als eine Analyse nur von Problemen.
    • Java / UPGRADE: Target Runtime (OpenJDK 11, 17, 21 oder 25).
    • Java / CLOUD READINESS: Target Compute Services, Target Operating System und Containerisierung.
    • Java / SECURITY: Minimaler CVE-Schweregrad (low, medium, high, critical; Standard high). Niedrigere Schweregradwerte umfassen mehr Befunde. (Sicherheitsdomäne ist heute nur Java.)
    • .NET / UPGRADE: Target Framework (.NET 8, 9 oder 10).
    • .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.

    Screenshot der Modernize CLI, die die Bewertungskonfigurationsseite im Terminal zeigt.

    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, einen bestimmten Azure Computedienst oder einen anderen CVE-Schweregradschwellenwert.

  8. Wählen Sie den Ausführungsmodus aus. Wählen Sie "Lokal bewerten" aus.

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

  9. Geben Sie den Ausgabepfad für Bewertungsergebnisse ein, oder drücken Sie die EINGABETASTE , um die Standardeinstellung zu übernehmen.

  10. Der Agent arbeitet automatisch:

    • Klonen von Remote-Repositories (lokale Repositories im Pfad werden direkt verwendet).

    • 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.

  11. 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-Agents)

Konfigurieren Sie zunächst Cloud-Agents in jedem Anwendungs-Repository. Um Cloud-Agenten zu konfigurieren, erstellen Sie einen Fork der Beispiel-Repositorys.

Konfiguration für .NET Anwendungen

Konfigurieren für die Ausführung auf Windows für .NET Framework-Anwendungen

Standardmäßig wird der Copilot Cloud-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-Cloud-Agents in Ihren Repositoryeinstellungen, wie in der folgenden Abbildung dargestellt:

Screenshot von GitHub, der die Repository-Einstellungen mit der Einstellung

MCP-Server

Konfigurieren Sie GitHub Copilot Modernisierungs-MCP-Server im Cloud-Agent Abschnitt Ihrer Repositoryeinstellungen, wie im folgenden Beispiel gezeigt:

{
  "mcpServers": {
   "AppModDotNetUpgrade": {
        "type": "local",
        "command": "dotnet",
        "args": [
          "dnx",
          "Microsoft.GitHubCopilot.Modernization.Mcp",
          "--prerelease",
          "--yes",
          "--source",
          "https://api.nuget.org/v3/index.json"
        ],
        "env": {
          "APPMOD_CALLER_TYPE": "modernize-cli"
        },
        "tools": ["*"]
    }
  }
}

Konfiguration für Java Anwendungen

Konfigurieren Sie GitHub Copilot Modernisierungs-MCP-Server im Cloud-Agent Abschnitt 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, der die Repository-Einstellungen des Cloud-Agenten zeigt, wobei der Abschnitt „MCP-Konfiguration“ hervorgehoben ist.

Schritte

Der interaktive Ablauf für die Cloud-Delegierung ist bis einschließlich der Schritte Quelle, Repository, Domäne und Konfiguration identisch mit Lokal bewerten. Der einzige Unterschied besteht in der Auswahl des Ausführungsmodus und was danach geschieht.

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

    modernize
    
  2. Wählen Sie im Hauptmenü "Bewerten" aus, wählen Sie Ihre Quelle (Konfigurationsdatei, manuelle Eingabe oder aktueller Ordner), Repositorys aus, wählen Sie Ihre Bewertungsdomänen aus, und überprüfen Sie die Konfiguration. Diese Schritte funktionieren genau wie im interaktiven Modus beschrieben (lokal bewerten).

  3. Wählen Sie den Ausführungsmodus aus. Wählen Sie "An Cloud-Agents delegieren" aus.

    Screenshot von Modernize CLI, der das Menü „Assess“ zeigt, wobei die Option „An Cloud Agents delegieren“ ausgewählt ist.

  4. Geben Sie den Ausgabepfad für Bewertungsergebnisse ein, oder drücken Sie die EINGABETASTE , um die Standardeinstellung zu übernehmen.

  5. Der Agent delegiert automatisch Bewertungsaufgaben für jedes Repository an Cloud-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-Agents im Terminal zeigt.

    Der Agent ruft die Ergebnisse der Bewertung pro App zurück in das lokale Land und generiert den aggregierten Bericht lokal.

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

  6. 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 Durch Delegieren an Cloud-Agents:

modernize assess --source .github/modernize/repos.json --delegate cloud --wait

Weitere Informationen finden Sie unter bewerten - CLI-Befehle.

Azure Migrate-Integration

Sie können die Batchbewertung direkt aus Ihrem Azure Migrate Projekt steuern und die resultierenden Berichte automatisch zu Azure Migrate übertragen lassen.

Der End-to-End-Fluss:

  1. Laden Sie ein Start-repos.json von Azure Migrate herunter. Azure Migrate generiert eine JSON-Datei, die auf die Anwendungen festgelegt ist, die Sie für die Modernisierungsbewertung ausgewählt haben. Die Datei enthält bereits die einträge apps[] und den block output, der auf Ihr Azure Migrate Projekt verweist.

  2. Füllen Sie Repository-URLs aus. Bearbeiten Sie jeden repos[] Eintrag in der heruntergeladenen Datei, um die GitHub Repository-URL für die Anwendung hinzuzufügen. Behalten Sie die Blöcke apps[] und output in der von Azure Migrate generierten Form bei – diese Blöcke steuern den Upload.

  3. Führen Sie die Batchbewertung aus. Führen Sie die Bewertung lokal aus, oder delegieren Sie sie an Cloud-Agents, indem Sie die vorstehenden Schritte ausführen. Beide Ausführungsmodi berücksichtigen die Azure Migrate Ausgabekonfiguration.

  4. Berichte werden automatisch hochgeladen. Nach Abschluss der Bewertung lädt der Modernisierungs-Agent den Bericht jeder Anwendung zurück in Ihr Azure Migrate Projekt hoch. Es ist kein zusätzliches CLI-Flag erforderlich – die output.type Einstellung in der repos.json Datei steuert den Upload.

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.
  • Target Platform: 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.
  • Kostenschätzung: schätzt die voraussichtlichen Azure-Kosten für die Ausführung jeder Anwendung auf ihrem empfohlenen Ziel, sodass Sie die Ausgaben bei der Priorisierung berücksichtigen können.
  • Migrationsstrategien: empfiehlt einen Migrationsansatz pro Anwendung – z. B. Replatform für Lift-and-Reshape-Verschiebungen oder Rearchitect für eine tiefere Umgestaltung – sodass jede App eine Strategie erhält, die ihrer Bereitschaft entspricht.
  • Migrationswellen: Ordnet Anwendungen nach Bereitschaft und Risiko in Phasen ein (z. B. Welle 1: schnelle Erfolge, Welle 2: Kern-Cloud, Welle 3: langfristige Investitionen). 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.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-, .NET- oder JavaScript/TypeScript-Projekte enthält.
  • Stellen Sie sicher, dass Build-Dateien vorhanden sind, wie pom.xml, build.gradle, *.csproj, *.sln, *.slnx oder package.json.
  • Überprüfen Sie Fehlermeldungen in der Konsolenausgabe. Nicht schwerwiegende Warnungen (z. B. fehlende Builddateien in einem Untermodul) werden jetzt direkt an die CLI-Ausgabe angezeigt – überprüfen Sie sie, bevor Sie den Bericht als abgeschlossen behandeln.

Probleme mit der Delegierung von Cloud-Agents:

  • Cloud-Agent-Delegierung akzeptiert nur https://github.com/... Repository-URLs. Lokale Pfade und Nicht-GitHub-Anbieter (GitLab, Azure DevOps) werden von vornherein mit einer aussagekräftigen Fehlermeldung abgelehnt. Verwenden Sie die lokale Ausführung für diese Repositorys.
  • 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:

Weitere Informationen:

Feedback geben

Ihre Eingabe ist wichtig! 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.