Delen via


Java-apps migreren naar Azure met behulp van de modernisering van GitHub Copilot-apps via een aangepaste agent

Bij dit artikel wordt beschreven hoe u Java-apps migreert door gebruik te maken van GitHub Copilot-app-moderniseringsagents. Met behulp van aangepaste agents kunt u gespecialiseerde migratiewerkstromen definiëren die werken in zowel de Copilot CLI als de Copilot-coderingsagent.

Door een aangepast agentprofiel te maken, kunt u het volgende doen:

  • Standaardiseer migratiewerkstromen in uw team.
  • Zorg voor consistente migratiepatronen en validatiestappen.
  • Automatiseer complexe migratietaken met meerdere stappen.
  • Volg de voortgang van de migratie systematisch.

Vereiste voorwaarden

Kies de omgeving waarin u aangepaste agents wilt gebruiken:

De MCP-server toevoegen

Voordat u een aangepaste agent maakt, voegt u de MCP-server voor app-modernisering toe. Het installatieproces verschilt tussen CLI en coderingsagent.

  1. Ga in de terminal naar uw Java-projectmap.

  2. Voer de volgende opdracht uit in Copilot CLI:

    /mcp add app-modernization
    
  3. Vul de velden als volgt in:

    • Servertype: Lokaal
    • Opdracht: npx -y @microsoft/github-copilot-app-modernization-mcp-server
    • Omgevingsvariabelen: laat leeg
    • Hulpprogramma's: de standaardwaarde gebruiken *

    U kunt het ~/.copilot/mcp-config.json bestand ook handmatig bijwerken:

    {
      "mcpServers": {
        "app-modernization": {
          "type": "local",
          "command": "npx",
          "tools": [
            "*"
          ],
          "args": [
            "-y",
            "@microsoft/github-copilot-app-modernization-mcp-server"
          ]
        }
      }
    }
    
  4. Voer deze opdracht uit /mcp show om de configuratie te controleren.

Zie MCP-server toevoegen voor CLI voor meer informatie.

Een aangepaste agent maken

De aangepaste agent definieert het gespecialiseerde gedrag en de instructies voor uw migratiewerkstromen.

  1. Maak een bestand met de naam appmod-java.agent.md in de lokale ~/.copilot/agents map.

  2. Voeg de agentinhoud toe die later in dit artikel wordt weergegeven.

  3. Als u de aangepaste agent wilt gebruiken, voert u deze uit /agent in de interactieve modus of roept u deze rechtstreeks aan in een prompt:

    Use the app modernization agent to migrate this application from S3 to Azure Blob Storage.
    

Zie Aangepaste agents gebruiken voor meer informatie.

Aangepaste agentinhoud

Gebruik de volgende inhoud voor zowel CLI als coderingsagent. Neem voor Copilot CLI het tools veld op in de YAML-front-matter.

Opmerking

Het voorvoegsel van de MCP-hulpprogrammanaam moet overeenkomen met de naam van de MCP-server. In het volgende geval worden alle hulpprogramma's in de app-modernization MCP-server gebruikt, zoals app-modernization/*

---
# For format details, see: https://gh.io/customagents/config
name: AppModernization 
description: Modernize the Java application

tools: ['shell', 'read', 'edit', 'search', 'custom-agent', 'web', 'todo', 'app-modernization/*']

---

# App Modernization agent instructions

## Your role

You are a highly sophisticated automated coding agent with expert-level knowledge in Java, popular Java frameworks, and Azure.
You are going to be asked to migrate user's Java projects, you can find tools in the toolset in order to solve the problem.

## Scope

- **Migration**: Execute structured migrations to modern technologies (logging, authentication, configuration, data access)
- **Validation**: Run builds, tests, CVE checks, and consistency/completeness verification
- **Tracking**: Maintain migration plans and progress in `.github/appmod/code-migration` directory
- **Azure Preparation**: Modernize code patterns for cloud-native Azure deployment

## Success criteria

* All migration tasks are tracked and completed
* All builds and tests pass after migration
* No CVEs introduced during migration
* Plan generated, progress tracked, and summary generated, and all the steps are all documented in the progress file

## Migration Workflow

### 1. Planning Phase (REQUIRED FIRST STEP)
**Before any migration work, MUST call `appmod-run-task` first.**

This tool will provide instructions for generating `plan.md` and `progress.md` files in `.github/appmod/code-migration/`.

### 2. Execution Phase
**MUST strictly follow the plan and progress files.**

Migration phases in order:
1. **Analysis**: Analyze the project language, JDK version, structure and dependencies
2. **Dependencies**: Update Maven or Gradle dependencies
3. **Configuration**: Migrate configuration files
4. **Code**: Transform code to modern Java patterns
5. **Verification** (MANDATORY - NO SKIPPING):
  - ✅ Build verification (`build_java_project`)
  - ✅ CVE vulnerability check (`validate_cves_for_java`)
  - ✅ Consistency check (`appmod-consistency-validation`)
  - ✅ Completeness check (`appmod-completeness-validation`)
  - ✅ Unit test verification (`run_tests_for_java`)

### 3. Completion Phase
**Write a brief summary of the migration process**, including:
- What was migrated
- Key changes made
- Verification results
- Any issues encountered and resolved

## Core Principles

1. **Always call tools in real-time** - Never reuse previous results
2. **Follow the plan strictly** - Update `progress.md` after each task
3. **Never skip verification steps** - All checks are mandatory
4. **Use tools, not instructions** - Execute actions directly via tools
5. **Track progress** - Create Git branches and commits for each task

## Important Rules

✅ **DO:**
- Call `appmod-run-task` before any migration
- Follow plan.md and progress.md strictly
- Complete ALL verification steps
- Write migration summary at completion
- Read files before editing them
- Track all changes in Git

❌ **DON'T:**
- Skip the planning tool
- Skip any verification steps
- Reuse previous tool results
- Stop mid-migration for confirmation
- Skip progress tracking

Uw Java-toepassing migreren naar Azure

Nadat u de aangepaste agent hebt gemaakt, gebruikt u deze om uw Java-toepassingen te migreren. Het proces is vergelijkbaar in zowel CLI als coderingsagent.

  1. Ga in de terminal naar uw Java-projectmap.

  2. Start Copilot CLI en gebruik uw aangepaste agent met een migratieprompt:

    Use the app modernization agent to migrate this application from S3 to Azure Blob Storage
    

    Of selecteer de agent met behulp van /agent en beschrijf vervolgens uw migratietaak.

    Schermopname van GitHub Copilot CLI die de optie 'Aangepaste Agent selecteren' toont.

  3. Controleer de voortgang van de migratie in de terminal terwijl de agent de migratiestappen uitvoert.

    Schermopname van GitHub Copilot CLI met actieve taken in Java-migratiescenario's.

  4. Bekijk het migratieoverzicht wanneer u klaar is.

    Schermopname van GitHub Copilot CLI met het Java-migratieoverzicht.

Feedback geven

Deel feedback over modernisering van GitHub Copilot-apps met behulp van het feedbackformulier voor modernisering van GitHub Copilot-apps.

Reference