使用 GitHub Copilot 的应用程序现代化功能,在编码代理中实现 Java 应用程序的现代化。

本文概述了 Java 开发人员如何在 Copilot 编码代理中使用 GitHub Copilot 应用现代化来现代化其应用程序。 代理可以在后台独立工作,以完成现代化任务,就像人类开发人员一样。 开发人员可以通过问题或拉取请求委托任务,代理在云中执行任务,从而帮助团队高效地完成整个现代化过程。

注释

Copilot 编码代理适用于 GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot Business 和 GitHub Copilot Enterprise 计划。 代理在 GitHub 上存储的所有存储库中可用,但托管用户帐户拥有的存储库和显式禁用的存储库除外。

支持的方案:

先决条件

  • 配置 Copilot 编码代理
  • GitHub Copilot 的 Pro、Pro+、Business 或 Enterprise 订阅
  • GitHub 存储库

开始

使用以下步骤开始使用 Copilot 编码代理:

  1. 转到要现代化的目标存储库的 “设置” 部分。 必须是此存储库的管理员。

  2. 选择 Copilot,然后选择 “编码代理”。

  3. “模型上下文协议”(MCP)部分中的 MCP 配置下,手动添加以下配置,然后选择“保存配置

    {
      "mcpServers": {
        "app-modernization": {
          "type": "local",
          "command": "npx",
          "tools": [
            "*"
          ],
          "args": [
            "-y",
            "@microsoft/github-copilot-app-modernization-mcp-server"
          ]
        }
      }
    }
    

    GitHub 的屏幕截图,其中显示了 Copilot 编码代理 MCP 配置。

  4. (可选)如果需要环境变量,请在设置中的 “环境>Copilot ”下设置它们。 当用户首次在此存储库中调用代理任务时,会自动初始化这些环境变量。

  5. 打开右上角的 “代理 ”面板并输入提示。 输入提示后,Copilot 将启动一个新会话,并打开新的拉取请求,该请求显示在提示框下面的列表中。 Copilot 处理任务,然后在任务完成后将你添加为审阅者,从而触发通知。

    GitHub 的屏幕截图,其中显示了“代理”面板和先前 Java 升级会话的列表。

可以在下一部分找到示例提示。

升级 Java 应用程序

若要将 Java 应用程序升级到较新的运行时或框架版本,请运行以下示例提示。 此提示有助于确保项目与最新的平台功能和安全更新保持一致。

Upgrade this project to JDK 21 and Spring Boot 3.5

以下步骤说明了升级过程:

  1. 描述想要用纯语言实现的内容。

    GitHub 的屏幕截图,其中显示了带有 Java 升级任务输入的“代理”面板。

  2. 然后,编码代理执行,包括生成升级计划、执行代码修正、生成项目以及检查漏洞。

    GitHub 的屏幕截图,其中显示了 Java 升级进度的“代理”面板。

  3. 你最终会收到一个简明的摘要。

    GitHub 的屏幕截图,其中显示了 Java 升级摘要的“代理”面板。

将 Java 应用程序迁移到 Azure

若要将 Java 应用程序迁移到 Azure,请描述编码代理的迁移方案,如以下示例提示中所示。 有关预定义迁移任务的更多信息,请参阅适用于 Java 开发人员的 GitHub Copilot 应用现代化的预定义任务

Run migration task for scenario Migrate Cassandra integration to Azure SDK using Managed Identity

以下步骤演示了迁移过程:

  1. 首先用纯语言描述迁移任务。

    GitHub 的屏幕截图,其中显示了带有 Java 迁移任务输入的“代理”面板。

  2. 迁移开始后,可以监视进度。

    GitHub 的屏幕截图,其中显示了 Java 迁移进度的“代理”面板。

  3. 最后,可以查看迁移摘要以获取见解,确保应用完全现代化且云就绪。

    GitHub 的屏幕截图,其中显示了带有 Java 迁移摘要的“代理”面板。

将 Java 应用程序部署到 Azure

升级或迁移应用程序后,可以使用以下提示直接从编码代理部署它:

Deploy this application to Azure

可以按照前面所示的部署步骤进行升级和迁移 - 整个过程保持一致。

提供反馈

如果对 GitHub Copilot 代理有任何反馈, 请在 github-copilot-appmod 存储库中创建问题

后续步骤