Anpassa moderniseringsplanen när du använder modernisering med GitHub Copilot

Den här artikeln beskriver hur du anpassar moderniseringsplanen som genereras av GitHub Copilot modernisering för migrering av Java och .NET program till Azure.

Du kan initiera en moderniseringssession genom att skapa en plan för utvärderingsrapporten via flervalsproblem eller genom att klicka på Migrera till Azure för att skapa och köra en moderniseringsplan från sidofältet. När du initierar en moderniseringssession genererar GitHub Copilot en fil plan.md (och en tillhörande fil .metadata/tasks.json) som beskriver migreringsmål, omfång, aktuell arkitektur och målarkitektur samt uppgiftslistan. Detta filpar fungerar som den ritning som moderniseringsagenten utför. Du kan förfina planen innan den körs så att den bättre passar ditt projekts behov.

När agenten genererar plan.md öppnas den automatiskt i Visual Studio Code-redigeraren. I det här skedet kan du granska och anpassa planen så att den överensstämmer med dina specifika moderniseringsmål.

Important

Anpassa planen genom att be Copilot att generera om eller uppdatera planen i stället för att redigera plan.md direkt. Direktredigeringar till plan.md uppdaterar inte den tillhörande filen tasks.json som kör körningen, och de två filerna kan inte synkroniseras. Det rekommenderade mönstret i varje avsnitt nedan är "berätta för Copilot vad som ska ändras och låt det sedan återskapas".

Exempel på plan.md-filens struktur

Agenten genererar en plan.md fil med följande avsnitt. Samma struktur används för Java och .NET projekt.

Avsnitt Purpose Kan anpassas med hjälp av promptar
Projekthuvud Projektnamn och moderniseringstitel. Ja – justera rubriken så att den återspeglar fasen eller omfattningen.
Technical Framework Aktuellt språk, ramverk, byggverktyg, databas och nyckelberoenden som identifieras från källkoden. Indirekt - korrigera eventuella felaktiga fakta genom att fråga Copilot.
Översikt Narrativ beskrivning av moderniseringsmålet: vad som förändras, varför och den stegvisa metoden. Affärsinriktad, ingen teknisk information. Ja – förtydliga affärsavsikt, lägg till eller ta bort punkter.
Sammanfattning av migreringspåverkan En tabell som mappar varje program × ursprungliga tjänsten → ny Azure tjänst, autentiseringsmetod och kommentarer. Ja – ändra måltjänst, ändra autentisering, lägga till eller ta bort rader.
Öppna frågor och enkät Förtydligande frågor som ställdes när planen skapades och användarens svar. Styr aktivitetsvalet. Ja - svara på öppna frågor, revidera tidigare svar.

Den detaljerade uppgiftslistan finns inte i plan.md. Den finns i .metadata/tasks.json och genereras från dina svar i avsnittet Öppna frågor och enkäter plus agentens analys. Om du vill ändra uppgifter uppmanar du Copilot att återskapa planen (se Så här anpassar du).

Vad du kan anpassa

Moderniseringsplanen exponerar fyra anpassningsytor. Var och en motsvarar ett avsnitt i plan.md och nås genom en uppmaning till Copilot snarare än genom en direkt redigering.

1. Moderniseringsomfång

Omfånget avgör vilka typer av uppgifter agenten genererar. Planen stöder fyra omfångstyper:

  • Upgrade – uppgradering av körnings- och ramverksversioner (till exempel JDK 11 → 17, Spring Boot 2.x → 3.x, .NET Framework → .NET 8).
  • Migration till Azure – ersätta en lokal eller icke-Azure tjänst med en Azure motsvarighet (till exempel Oracle → Azure Database for PostgreSQL, ActiveMQ → Azure Service Bus, hårdkodade hemligheter → Azure Key Vault).
  • Containerisering – generera en Dockerfile och relaterade byggartefakter.
  • Deployment – generera distributionsfiler och distribuera till Azure. Distributionsuppgifter inkluderar containerisering implicit.

Om du vill anpassa omfånget anger du Copilot vilka omfångstyper som gäller för den här körningen. Ett exempel:

For this modernization plan, only include Upgrade and Migration to Azure tasks. Do not generate containerization or deployment tasks — those are handled by a separate pipeline.

2. Inrikta Azure-tjänster och autentisering

Tabellen Migration Impact Summary registrerar målmetoden Azure tjänst och autentisering för varje migrerad komponent. Anpassa dessa värden genom att fråga Copilot innan eller efter att den första planen har genererats. Ett exempel:

Update the Migration Impact Summary:
- Use Azure Container Apps as the deployment target, not Azure Kubernetes Service.
- Use Managed Identity for the PostgreSQL connection. Do not use Key Vault for the DB password.
- Migrate file-based logging to Azure Monitor (Application Insights), not to console-only.

Agenten återskapar båda plan.md och tasks.json därför förblir uppgiftslistan konsekvent med tabellen.

3. Svar på frågeformulär

När agenten har funktionen ask_user tillgänglig ställer den några korta frågor för att avgränsa planen. De tre standardfrågorna är:

Question Standardsvar Effekt på planen
Distributionsmål på Azure Ingen distribution Lägger till (eller utelämnar) en distributionsaktivitet och väljer målberäkningstjänsten (Azure Container Apps, Azure Kubernetes Service, Azure App Service, App Service Managed Instance, Azure Function Apps, Azure Static Web Apps).
Vill du inkludera integreringstestning? No När värdet är "Ja, lokal integration med containrar" eller "Ja, lokal integration och röktester" läggs en uppgift för integrationstest till efter migreringsuppgifterna och före containerisering.
Vill du inkludera containerisering (Dockerfile-generering)? No Lägger till en fristående containeriseringsaktivitet. Hoppades över automatiskt om en distributionsuppgift har valts, eftersom distributionen omfattar containerisering.

Om agenten inte ställde någon fråga (till exempel på grund av att ask_user inte var tillgänglig) eller om du vill ändra ett tidigare svar frågar du Copilot. Ett exempel:

Update the plan with these answers:
- Deployment target: Azure Container Apps
- Integration testing: Yes, Local Integration and Smoke Tests
- Containerization: handled by deployment task, no standalone containerization needed

Svaren registreras som markerade alternativ i avsnittet Öppna frågor & enkät och styr valet av uppgifter.

4. Lägg till, ta bort eller förfina specifika uppgifter

Du kan be Copilot att lägga till en aktivitet som inte har genererats, släppa en uppgift som du inte vill ha eller justera en befintlig aktivitets omfång. Skriv en prompt med intent – låt Copilot välja den matchande färdigheten och mönstret från sin kunskapsbas.

Exempel:

Add a task to migrate from ActiveMQ to Azure Service Bus.
Drop the integration test task — we have an existing test suite that covers this.
The Spring Boot upgrade task should target Spring Boot 3.2 specifically, not "latest".

Note

Agenten skapar bara uppgifter för migreringar som den har matchande kunskaper eller mönster för. Om du begär en migrering som agenten inte kan stödja (till exempel en intern proprietär tjänst) lägger den till en varning i omfångsavsnittet och uppgiften läggs inte till. I så fall behandlar du migreringen som ett manuellt steg och lägger till en instruktion för riktlinjer (se nästa avsnitt) för att dokumentera den.

Så här anpassar du: fråga Copilot att återskapa

Använd följande arbetsflöde:

  1. Granska den första plan.md efter att agenten har genererat den.
  2. Identifiera vad du vill ändra – omfång, måltjänst, autentisering, svar på frågeformulär eller specifika uppgifter.
  3. Uppmana Copilot om ändringen. Var specifik: namnge avsnittet och önskat resultat.
  4. Låt Copilot återskapa plan.md och .metadata/tasks.json tillsammans. Båda filerna måste förbli synkroniserade för att körning ska fungera.
  5. Granska den uppdaterade planen igen. Iterera tills omfånget, målarkitekturen och uppgiftslistan matchar din avsikt.

Exempel på prompt från början till slut:

Update the modernization plan with these changes:
1. Add Migration to Azure scope for messaging — migrate ActiveMQ to Azure Service Bus.
2. Use Managed Identity for all Azure service connections; do not introduce Key Vault.
3. Deployment target is Azure Container Apps.
4. Include Layer 1 and Layer 2 integration tests.
5. The Spring Boot upgrade task should explicitly include the JDK 17 and Jakarta EE migration in its description, as a single task (do not split).

Copilot återskapar planen, uppdaterar tabellen, registrerar svaren på enkäten och ändrar uppgiftslistan i enlighet med detta.

Ange riktlinjer för utförande

Utöver omfång och uppgifter tillhandahåller du Copilot med guidelines – metodik, konventioner, verktyg och regler – som styr hur moderniseringen utförs. Lägg oftast till riktlinjer som ett Guidelines avsnitt i planen eller som referenser till lokala regelfiler.

Ta med instruktioner som hjälper dig att styra hur Copilot ändrar kod, till exempel:

  • Begränsningar eller förbud för vissa migreringsmetoder (till exempel inte introducerar Spring Cloud-Azure startprogram; använd de inbyggda SDK:erna).
  • Krav för kodformat eller konvention.
  • Länkar till interna filer, dokumentation eller skript som agenten kan komma åt.
  • Domänkunskap som är användbar för att åtgärda fel eller utföra migreringar.
  • Krav för hur agenten ska analysera eller kommentera kodändringar.
  • Rensningsinstruktioner för tillfälliga artefakter som skapas under körning.

Exempel:

Add these guidelines to the plan:
- Use Azure Managed Identity for every Azure service connection. Do not introduce connection strings or Key Vault secrets unless a service has no Managed Identity support.
- Follow the code conventions defined in `/docs/internal/code-style.md`.
- Provide detailed comments explaining why each code change is necessary.
- After execution, remove any temporary scripts or scratch files created during migration.

Se även