.NET-apps migreren naar Azure met behulp van GitHub Copilot modernisering in Copilot CLI

Overzicht

Meer informatie over het migreren van .NET toepassingen naar Azure met behulp van de invoegtoepassing GitHub Copilot modernisering in Copilot CLI.

De invoegtoepassing biedt een autonome werkstroom met meerdere agents waarmee uw .NET-toepassing wordt beoordeeld, een uitvoerbaar moderniseringsplan wordt gegenereerd en de migratie wordt uitgevoerd, allemaal vanuit de terminal. Het biedt ondersteuning voor Azure migraties, CVE-beveiligingsproblemen en het opnieuw ontwerpen van toepassingen.

Opmerking

GitHub Copilot CLI is beschikbaar in de plannen GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business en GitHub Copilot Enterprise. Als u Copilot ontvangt via een organisatie, moet een beheerder het Copilot CLI-beleid inschakelen in de organisatie-instellingen.

Wat kunt u doen

Vermogen Beschrijving
.NET migratie naar Azure .NET toepassingen evalueren en migreren naar Azure services (Service Bus, Azure SQL, Redis, Key Vault, Application Insights, Managed Identity), inclusief NuGet-beveiligingscontroles en ASP.NET-naar-Azure-migraties
CVE en beveiligingsproblemen oplossen CVE-beveiligingsproblemen in NuGet-afhankelijkheden scannen en oplossen
Toepassingsherarchitectuur Ingrijpende herstructureringen zoals het opsplitsen van een monoliet in microservices, het moderniseren van verouderde gebruikersinterfaces en het extraheren van modules

Vereiste voorwaarden

De invoegtoepassing installeren

  1. Voer in een terminal copilot uit om Copilot CLI te starten.

    copilot
    
  2. Voeg de marktplaats toe en installeer de plug-in:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  3. Controleer of de plug-in is geïnstalleerd door een lijst van de geïnstalleerde plug-ins weer te geven:

    /plugin list
    

    U ziet github-copilot-modernization:modernize in de lijst.

De invoegtoepassing bijwerken

Als u de invoegtoepassing wilt bijwerken wanneer er een nieuwe versie beschikbaar is, voert u het volgende uit:

copilot plugin update github-copilot-modernization@github-copilot-modernization

Een moderniseringstaak starten

Optie 1: Begin rechtstreeks met de agent

Navigeer naar uw .NET projectmap en start Copilot CLI met de moderniseringsagent:

cd /path/to/your/dotnet-project
copilot --agent=github-copilot-modernization:modernize

Optie 2: Selecteer de agent in Copilot CLI

Als u zich al in een Copilot CLI-sessie bevindt, gebruikt u de opdracht /agent om over te schakelen naar de moderniseringsagent:

/agent

Selecteer github-copilot-modernization:modernize in de lijst.

Important

U moet de github-copilot-modernization:modernize agent selecteren voordat u eventuele moderniseringsprompts uitvoert. Zonder deze agent geselecteerd, maakt Copilot CLI gebruik van de standaardagent, die niet de volledige indeling van meerdere agents, ondersteuning voor enterprise playbook en gespecialiseerde migratiemogelijkheden kan gebruiken die de invoegtoepassing biedt.

Een moderniseringsprompt uitvoeren

Zodra de agent actief is, beschrijft u wat u in natuurlijke taal wilt:

copilot> modernize my application

U kunt ook specifieker zijn:

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

Gebruik de --allow-all vlag voor uitvoering zonder toezicht:

copilot --agent=github-copilot-modernization:modernize --allow-all

Hoe de werkstroom werkt

De invoegtoepassing maakt gebruik van een werkstroom in drie fasen die automatisch wordt uitgevoerd. U hoeft niet elke fase handmatig aan te roepen. De orchestrator verwerkt routering op basis van uw aanvraag.

Fase 1: Evaluatie

  • Detecteert .NET projectstructuur en maakt gebruik van de juiste analysehulpprogramma's.
  • Analyseert afhankelijkheden, frameworks en versies.
  • Identificeert moderniseringsmogelijkheden en risico's.
  • Slaat resultaten op in .github/modernize/assessment/.

Fase 2: Planning

  • Laadt evaluatieresultaten en enterprise playbookbeperkingen (indien aanwezig).
  • Hiermee wordt een uitvoerbaar taakplan gegenereerd.
  • Slaat het plan op naar .github/modernize/<app>/plan.md en tasks.json.

Fase 3: Uitvoering

  • Hiermee worden taken doorgestuurd naar gespecialiseerde uitvoerders op basis van het taaktype.
  • Elke executor raadpleegt een kennisbank voor migratiepatronen.
  • Bewaakt de voortgang met automatische nieuwe pogingen bij fouten.
  • Hiermee maakt u gedetailleerde doorvoeringen per taak voor controle.

De orchestrator ondersteunt meerdere toegangspunten, afhankelijk van uw intentie:

Workflow Wanneer deze wordt geactiveerd Wat gebeurt er?
Brede intentie "Mijn toepassing moderniseren" Volledig beoordelen → plannen → pipeline uitvoeren
Specifieke taak "Migreren van SQL Server naar Azure SQL" Slaat de evaluatie over, gaat direct naar het plannen → uitvoeren
Bestaand plan uitvoeren "het plan uitvoeren" Slaat evaluatie en planning over, voert een bestaand plan uit
Headless Uitvoering zonder toezicht met --allow-all Hetzelfde als een brede intentie zonder gebruikersprompts

Moderniseringsbeleid voor ondernemingen definiëren

Organisaties kunnen hun moderniseringsintentie( doelarchitecturen, upgradestandaarden en nalevingsbeleid) rechtstreeks in de werkstroom insluiten via een playbook. Deze aanpak zorgt ervoor dat elk gegenereerd plan overeenkomt met bedrijfsstandaarden zonder dat elke beslissing handmatig wordt gecontroleerd.

Een draaiboek instellen

Plaats Markdown-bestanden in de .github/modernize/playbook/ map van uw project. In de planningsfase worden automatisch alle .md bestanden in deze map gelezen en samengevoegd met evaluatieresultaten voordat het taakplan wordt gegenereerd.

Important

Beperkingen van het playbook hebben voorrang op aanbevelingen van de beoordeling. Als uw playbook 'gebruik Azure Service Bus voor berichten' aangeeft, heeft die keuze voorrang, ongeacht wat de evaluatie detecteert.

Wat u in een playbook kunt definiëren

Beleidstype Examples
Doelarchitecturen Compute-services (App Service, AKS, Container Apps), databasekeuzen (Azure SQL, Cosmos DB), berichtenplatforms (Service Bus, Event Hubs)
Upgradenormen Doelversie .NET, frameworkmigratiepaden
Veiligheidshekken Verboden technologieën, beveiligingsvereisten, nalevingsbeperkingen, verificatiestandaarden
Coderingsstandaarden Naamconventies, verificatiepatronen, frameworks voor logboekregistratie
Migratiestrategie Bereikgrenzen, 6R-classificatievoorkeuren (rehost versus refactor vs. rearchitect), faseringsstrategie

Voorbeeld-draaiboek

Maak een bestand op .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

Er is geen vaste naamgeving of structuur vereist. De orchestrator leidt het doel van elk bestand af van de inhoud ervan.

Ingebouwde standaardinstellingen

Zonder een playbook past de invoegtoepassing verstandige standaardwaarden toe:

  • Azure: Beheerde identiteit voor verificatie; beheerde databaseservices voor relationele gegevens.
  • Messaging: on-premises messaging → Azure Service Bus.
  • Infrastructure: Bicep als standaard.

Algemene scenario's

Azure migratie

copilot --agent=github-copilot-modernization:modernize
copilot> modernize my .NET application for Azure

Migreren van lokale SQL Server naar Azure SQL

copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local SQL Server to Azure SQL Database with managed identity

Migreren van bestands-I/O naar Azure Blob Storage

copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local file I/O to Azure Blob Storage

CVE en beveiligingsoplossing

copilot --agent=github-copilot-modernization:modernize
copilot> fix CVE vulnerabilities in my project

Toepassingsherarchitectuur

copilot --agent=github-copilot-modernization:modernize
copilot> rearchitect my monolithic application into microservices

Volledige modernisering

copilot --agent=github-copilot-modernization:modernize
copilot> modernize my application

Troubleshooting

Invoegtoepassing is niet gevonden

# 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

Evaluatie mislukt: er is geen toepassing gevonden

  • Controleer of de hoofdmap van uw project een .csproj of .sln bestand bevat.
  • Zorg ervoor dat u zich in de juiste map bevindt voordat u Copilot CLI start.

Problemen met MCP-server

De invoegtoepassing maakt gebruik van de MCP-server die is gedefinieerd in de configuratie. Als u problemen ondervindt, installeert u de invoegtoepassing opnieuw om de MCP-configuratie opnieuw in te stellen.

Feedback geven

Deel feedback over GitHub Copilot CLI met behulp van het GitHub Copilot CLI-feedbackformulier.

Reference