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.
Überblick
Erfahren Sie, wie Sie .NET-Anwendungen mithilfe des GitHub Copilot modernization-Plugins in Copilot CLI zu Azure migrieren.
Das Plug-In stellt einen autonomen, multi-agent-Workflow bereit, der Ihre .NET-Anwendung bewertet, einen ausführbaren Modernisierungsplan generiert und die Migration durchführt – alles vom Terminal aus. Es unterstützt Azure-Migrationen, die Behebung von CVE-Sicherheitslücken und die Neugestaltung von Anwendungsarchitekturen.
Hinweis
GitHub Copilot CLI ist in den Plänen GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business und GitHub Copilot Enterprise verfügbar. Wenn Sie Copilot über eine Organisation erhalten, muss ein Administrator die Copilot CLI-Richtlinie in den Organisationseinstellungen aktivieren.
Mögliche Aktionen
| Fähigkeit | Description |
|---|---|
| .NET Migration zu Azure | Bewerten und Migrieren von .NET Anwendungen zu Azure Diensten (Service Bus, Azure SQL, Redis, Key Vault, Application Insights, Managed Identity), einschließlich NuGet-Sicherheitsprüfungen und ASP.NET-zu-Azure-Migrationen |
| CVE- und Sicherheitsrisikobereinigung | Überprüfen und Beheben von CVE-Sicherheitsrisiken in NuGet-Abhängigkeiten |
| Anwendungsneuarchitektur | Strukturelle Umgestaltungen wie die Zerlegung eines Monolithen in Microservices, die Modernisierung von Legacy-Benutzeroberflächen und die Extraktion von Modulen |
Voraussetzungen
- Installieren Sie Copilot CLI.
- Ein GitHub Copilot-Abonnement. Weitere Informationen findest du unter Copilot-Pläne.
Installieren des Plug-Ins
Führen Sie in einem Terminal
copilotaus, um Copilot CLI zu starten.copilotFügen Sie den Marketplace hinzu, und installieren Sie das Plug-In:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationÜberprüfen Sie, ob das Plug-In installiert ist, indem Sie installierte Plug-Ins auflisten:
/plugin listSie sollten
github-copilot-modernization:modernizein der Liste sehen.
Aktualisieren des Plug-Ins
Führen Sie Folgendes aus, um das Plug-In zu aktualisieren, wenn eine neue Version verfügbar ist:
copilot plugin update github-copilot-modernization@github-copilot-modernization
Starten einer Modernisierungsaufgabe
Option 1: Mit dem Agent direkt beginnen
Navigieren Sie zu Ihrem .NET Projektordner, und starten Sie Copilot CLI mit dem Modernisierungs-Agent:
cd /path/to/your/dotnet-project
copilot --agent=github-copilot-modernization:modernize
Option 2: Agent in Copilot CLI auswählen
Wenn Sie sich bereits in einer Copilot CLI-Sitzung befinden, verwenden Sie den Befehl /agent, um zum Modernisierungs-Agent zu wechseln:
/agent
Wählen Sie github-copilot-modernization:modernize aus der Liste aus.
Important
Sie müssen den github-copilot-modernization:modernize Agent auswählen, bevor Sie Modernisierungsaufforderungen ausführen. Ohne diesen Agent ausgewählt, verwendet Copilot CLI den Standard-Agent, der nicht die vollständige Multi-Agent-Orchestrierung, enterprise playbook-Unterstützung und spezielle Migrationsfunktionen, die das Plug-In bereitstellt, verwenden kann.
Modernisierungsanweisung ausführen
Sobald der Agent aktiv ist, beschreiben Sie, was Sie in natürlicher Sprache wünschen:
copilot> modernize my application
Oder spezifischer sein:
copilot> modernize my .NET application for Azure
copilot> migrate this app from local SQL Server to Azure SQL Database
copilot> fix CVE vulnerabilities in my project
Verwenden Sie für die unbeaufsichtigte Ausführung das --allow-all Kennzeichen:
copilot --agent=github-copilot-modernization:modernize --allow-all
Funktionsweise des Workflows
Das Plug-In verwendet einen dreistufigen Workflow, der automatisch ausgeführt wird. Sie müssen jede Phase nicht manuell aufrufen – der Orchestrator verarbeitet das Routing basierend auf Ihrer Anforderung.
Phase 1: Bewertung
- Erkennt .NET Projektstruktur und verwendet die entsprechenden Analysetools.
- Analysiert Abhängigkeiten, Frameworks und Versionen.
- Identifiziert Modernisierungschancen und Risiken.
- Speichert Ergebnisse in
.github/modernize/assessment/.
Phase 2: Planung
- Lädt Bewertungsergebnisse und Enterprise-Playbook-Einschränkungen (sofern vorhanden).
- Generiert einen ausführbaren Aufgabenplan.
- Speichert den Plan in
.github/modernize/<app>/plan.mdundtasks.json.
Phase 3: Ausführung
- Leitet Aufgaben basierend auf dem Aufgabentyp an spezialisierte Executor-Agents weiter.
- Jeder Executor fragt eine Wissensbasis für Migrationsmuster ab.
- Überwacht den Fortschritt mit automatischer Wiederholung bei Fehlern.
- Erstellt detaillierte Commits pro Aufgabe zur Überprüfung.
Der Orchestrator unterstützt je nach Absicht mehrere Einstiegspunkte:
| Workflow | Wenn sie aktiviert wird | Was ist los |
|---|---|---|
| Allgemeine Absicht | "Meine Anwendung modernisieren" | Vollständige Bewertung → Plans → Ausführen der Pipeline |
| Spezifischer Vorgang | "Migrieren von SQL Server zu Azure SQL" | Überspringt die Bewertung, geht direkt zum Planen → Ausführung |
| Ausführen eines vorhandenen Plans | "Plan ausführen" | Überspringt Bewertung und Planung, führt einen vorhandenen Plan aus. |
| Kopflos | Unbeaufsichtigte Ausführung mit --allow-all |
Identisch mit der allgemeinen Absicht ohne Benutzereingabeaufforderungen |
Definieren von Unternehmensmodernisierungsrichtlinien
Organisationen können ihre Modernisierungsabsicht – Zielarchitekturen, Upgradestandards und Compliancerichtlinien – direkt in den Workflow über ein Playbook einbetten. Durch diesen Ansatz wird sichergestellt, dass jeder generierte Plan den Unternehmensstandards entspricht, ohne jede Entscheidung manuell zu überprüfen.
Richten Sie ein Playbook ein
Platzieren Sie Markdown-Dateien im .github/modernize/playbook/ Verzeichnis Ihres Projekts. In der Planungsphase werden automatisch alle .md Dateien in diesem Ordner gelesen und mit Bewertungsergebnissen zusammengeführt, bevor der Aufgabenplan generiert wird.
Important
Playbook-Einschränkungen setzen Bewertungsempfehlungen außer Kraft. Wenn Ihr Playbook "Azure Service Bus für Messaging verwenden" angibt, hat diese Wahl Vorrang, unabhängig davon, was die Bewertung ermittelt.
Was Sie in einem Playbook definieren können
| Richtlinientyp | Beispiele |
|---|---|
| Zielarchitekturen | Compute services (App Service, AKS, Container Apps), Datenbankauswahl (Azure SQL, Cosmos DB), Messaging-Plattformen (Service Bus, Event Hubs) |
| Upgradestandards | Ziel-.NET Version, Framework-Migrationspfade |
| Leitplanken | Verbotene Technologien, Sicherheitsanforderungen, Complianceeinschränkungen, Authentifizierungsstandards |
| Codierungsstandards | Benennungskonventionen, Authentifizierungsmuster, Protokollierungsframeworks |
| Migrationsstrategie | Abgrenzung des Umfangs, Präferenzen für die 6R-Klassifizierung (rehost vs. Refactoring vs. Neuarchitektur), Strategie für die Phaseneinteilung |
Beispielhandbuch
Erstellen sie eine Datei unter .github/modernize/playbook/enterprise-standards.md:
# Enterprise Modernization Standards
## Target Architecture
- Use Azure Container Apps for microservices deployments
- Use Azure Service Bus for all asynchronous messaging
- Use Azure SQL Database for relational data
- Use Azure Blob Storage for file storage
## Security & Compliance
- All services must authenticate using Managed Identity — no connection strings or passwords in code
- All public endpoints must be behind Azure Front Door
## Guardrails
- Do not use Azure Functions for long-running processes
- All infrastructure must be defined in Bicep
Es ist keine feste Benennung oder Struktur erforderlich – der Orchestrator leitet den Zweck jeder Datei vom Inhalt ab.
Voreingestellte Standardwerte
Ohne Playbook wendet das Plugin sinnvolle Standardwerte an:
- Azure: Verwaltete Identität für die Authentifizierung; verwaltete Datenbankdienste für relationale Daten.
- Messaging: Lokale Messaging-→ Azure Service Bus.
- Infrastructure: standardmäßig Bicep.
Häufige Szenarien
Azure Migration
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my .NET application for Azure
Migrieren von lokalen SQL Server zu Azure SQL
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local SQL Server to Azure SQL Database with managed identity
Von Datei-E/A zu Azure Blob Storage migrieren
copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local file I/O to Azure Blob Storage
CVE und Sicherheitskorrektur
copilot --agent=github-copilot-modernization:modernize
copilot> fix CVE vulnerabilities in my project
Anwendungsneuarchitektur
copilot --agent=github-copilot-modernization:modernize
copilot> rearchitect my monolithic application into microservices
Vollständige Modernisierung
copilot --agent=github-copilot-modernization:modernize
copilot> modernize my application
Troubleshooting
Plug-In nicht gefunden
# Verify marketplace is added
copilot plugin marketplace list
# Re-add marketplace if needed
copilot plugin marketplace add microsoft/github-copilot-modernization
# Reinstall
copilot plugin install github-copilot-modernization@github-copilot-modernization
Die Bewertung schlägt fehl: Keine Anwendung gefunden
- Stellen Sie sicher, dass das Stammverzeichnis Ihres Projekts eine
.csproj- oder.sln-Datei enthält. - Stellen Sie sicher, dass Sie sich im richtigen Verzeichnis befinden, bevor Sie Copilot CLI starten.
MCP-Serverprobleme
Das Plug-In verwendet den MCP-Server, der in seiner Konfiguration definiert ist. Wenn Probleme auftreten, installieren Sie das Plug-In erneut, um die MCP-Konfiguration zurückzusetzen.
Feedback geben
Teilen Sie Feedback zu GitHub Copilot CLI mithilfe des GitHub Copilot CLI-Feedbackformulars.