快速入门:使用 GitHub Copilot 应用现代化评估并迁移 Java 项目

本快速入门介绍如何使用 GitHub Copilot 应用现代化来评估和迁移 Java 项目。 在本快速入门中,你将安装和配置扩展,然后评估和迁移示例项目。 例如,使用预定义的任务更新 Azure SQL 数据库连接以使用 Azure 托管标识,而不是用户名和密码。

以下视频演示了 GitHub Copilot 应用现代化如何使用 AppCAT 来帮助评估迁移到 Azure 的 Java 项目:


Prerequisites

注释

如果使用 Gradle,则仅支持 Gradle 包装器版本 5+ 。 不支持 Kotlin 域特定语言(DSL)。

IntelliJ IDEA 尚不支持该函数 My Tasks

升级 JDK 和依赖项版本

有两种方法可以升级 JDK 版本。 这两种方法都使用 Visual Studio Code 中的 GitHub Copilot 应用现代化 窗格,可以从边栏访问该窗格。

升级 JDK 版本的一种方法是在“快速入门”部分中选择“升级运行时和框架”。 另一种方法是在“任务 - 升级任务”部分中运行升级的 Java 运行时任务。 有关详细信息,请参阅 快速入门:使用 GitHub Copilot 应用现代化升级 Java 项目

Visual Studio Code 的屏幕截图,其中显示了 GitHub Copilot 应用现代化窗格,其中突出显示了“升级”选项。

若要升级 Spring 框架或第三方依赖项,请在“任务 - 升级任务”部分中运行升级 Java 框架任务。 有关详细信息,请参阅 使用 GitHub Copilot 应用现代化升级 Java 框架或第三方依赖项

Visual Studio Code 的屏幕截图,其中显示了 GitHub Copilot 应用现代化窗格,其中突出显示了“升级 Java 框架”任务。

评估云就绪情况

使用以下步骤通过解决方案评估启动迁移过程。 此评估可帮助你了解云就绪性挑战及其影响程度。 它还提供建议的解决方案。 解决方案建议包括对设置 Azure 资源、添加配置和进行代码更改的引用。

  1. 克隆 Java 迁移 copilot 示例 存储库,然后切换到 source 分支。

  2. 在 Visual Studio Code 中,打开示例存储库中的 mi-sql-public-demo 项目文件夹。

  3. 在边栏上,选择 GitHub Copilot 应用现代化窗格,可在其中选择“迁移到 Azure或“评估”部分中的“运行评估”。

    Visual Studio Code 的屏幕截图,其中显示了 GitHub Copilot 应用现代化窗格,其中突出显示了“迁移到 Azure 并运行评估”按钮。

  4. 此时会打开包含代理模式的 GitHub Copilot 聊天窗口,以调用现代化评估程序来执行应用现代化评估。 选择“继续”以确认。

  5. 现代化评估器现在打开appcat.log。 此文件显示用于运行 AppCAT 的日志,用于执行应用评估。 选择 “继续 ”再次确认。

  6. 现代化评估员首先验证您的本地环境。 如果未安装 AppCAT 及其依赖项,代理将帮助你安装它们。 安装后,代理调用 AppCAT 来评估当前项目。 此步骤可能需要几分钟才能完成。

  7. 分析完成后,现代化评估器会在打开的 评估报告中生成云就绪问题的分类视图。

    显示评估报表的 Visual Studio Code 窗格的屏幕截图。

  8. 查看摘要报告时,可以从问题数据库迁移(Microsoft SQL)下的解决方案列表中选择“迁移到 Azure SQL 数据库”(Spring)。 然后选择 “运行任务 ”以移动到代码修正阶段。

    Visual Studio Code 问题窗格的屏幕截图,其中显示了“迁移到 Azure SQL 数据库”选项,其中突出显示了“运行任务”按钮。

应用预定义的任务

对于迁移,Copilot 为迁移到 Azure 时可能会遇到的常见迁移方案提供预定义的任务。 例如,使用 mi-sql-public-demo 示例, 数据库迁移(Microsoft SQL) 任务将 Azure SQL 数据库连接更改为使用 Azure 托管标识,而不是用户名和密码。

若要应用预定义的任务,请使用以下步骤:

  1. 评估报告中,选择“ 运行任务”。 此时会打开 Copilot 聊天窗口,其中选择了“代理模式”。

  2. Copilot 代理使用各种工具进行应用现代化,并且每个工具可能需要确认才能继续。 首先 生成 plan.md 和 progress.md ,如有必要,可以查看 plan.md 并进行更改。

  3. 手动输入 继续 确认并启动迁移过程。

  4. 在进行任何代码更改之前,代理会检查版本控制系统状态,并检出用于迁移的新分支。

  5. 重复选择或输入 “继续” 以确认使用工具或命令,并等待代码更改完成。

验证迭代

代码更改完成后,手动输入 继续 执行验证并修复迭代循环。 此循环包括以下五个部分:

  • Validate-CVEs应用该工具。 此工具尝试检测当前依赖项中的常见漏洞和暴露(CVE),并修复它们。
  • Build-Project应用该工具。 此工具尝试解决任何生成错误。
  • Consistency-Validation应用该工具。 此工具分析代码以确保功能一致性。
  • Run-Test应用该工具。 此工具用于分析项目中的单元测试失败情况,并自动生成修复这些失败的计划。 该工具 Run-Test 以迭代方式运行单元测试并修复任何故障。
  • Completeness-Validation应用该工具。 此工具捕获初始代码迁移中错过的迁移项并修复它们。

所有过程完成后,输入continue 以生成迁移摘要,作为最后一步。 通过选择 “保留”查看代码更改并确认这些更改。

生成单元测试用例

若要生成单元测试用例,请使用以下步骤:

  1. 在边栏上,选择 GitHub Copilot 应用现代化 窗格。

  2. “任务 ”部分中,打开 “质量和安全任务”,然后选择“ 生成单元测试用例”。

代理生成单元测试并创建 TestReport 以显示生成前后的测试结果。 有关详细信息,请参阅 快速入门:使用 GitHub Copilot 应用现代化生成单元测试

后续步骤

快速入门:创建并应用自己的任务