使用GitHub Copilot在编码代理中实现Java应用的现代化

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

注释

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

支持的方案:

先决条件

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

注释

Azure帐户仅用于将资源部署到Azure,在使用GitHub Copilot现代化进行代码更改时不需要。

开始

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

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

  2. 选择Copilot,然后选择 Coding Agent

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

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

    GitHub的截图,显示Copilot编码代理的MCP配置。

  4. (可选)如果需要环境变量,请在设置中的 Environment>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 升级进度的 Agents 面板。

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

    GitHub的截图,显示了Agent面板中的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迁移任务输入的Agents面板。

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

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

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

    GitHub的截图,显示了代理面板和Java迁移摘要。

将Java应用程序部署到Azure

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

Deploy this application to Azure

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

提供反馈

如果对 GitHub Copilot 智能体有任何反馈,在 github-copilot-appmod 存储库上创建问题。

后续步骤