本文介绍 GitHub Copilot 应用现代化,这是一个 AI 助手,提供对应用程序现代化的端到端支持。
企业通常处理整个开发周期的技术债务,升级 Java 运行时、框架和依赖项是一项常见的资源密集型任务。 同时,许多组织的目标是将其应用程序资产迁移到云并将其现代化,其中包括:
- 评估代码、配置和依赖项的当前状态
- 规划 Azure 资源
- 解决问题以确保迁移成功
基于GitHub Copilot 代理模式,GitHub Copilot 应用现代化为常见的升级和迁移场景提供了预定义任务,同时整合了在 Azure 上运行应用程序的行业最佳实践。 同时,它使团队能够将自己的编码标准、组织策略和现有做法注入到现代化过程中。
关键功能一目了然
- 应用程序评估和规划:分析代码、配置和依赖项。 帮助你可视化现代化过程中的每个任务,从评估到部署。
- 代码转换:针对升级和迁移方案建议并应用代码修正。
- 生成、修补和测试:验证项目在修正后是否成功生成,并在需要时应用修复。 执行常见漏洞和暴露(CVE)检查,以减少安全漏洞的暴露。 迁移现有单元测试并生成新的单元测试,以验证现代化结果并提高测试覆盖率。
- 容器化和部署:为应用容器化和其他项目生成 Dockerfiles,以便自动部署到 Azure。
GitHub Copilot 应用现代化将 GitHub Copilot 的 AI 功能与开源工具集成,例如 OpenRewrite 自动执行复杂的升级步骤。 它支持 Maven 和 Gradle 项目,并支持在 Java 版本 8、11、17 到 21 之间的升级。 该工具特别注重现代化使用 Spring Boot 框架的应用程序。 升级过程使你能够控制,并通过显示所有日志和输出来确保透明度。
使用 应用评估 开始迁移过程,大致了解云就绪性迁移问题,包括:
- 有关设置 Azure 资源的说明
- 有关遵循最佳做法的建议
- 有关更改应用程序代码的建议
在需要更改代码的情况下,GitHub Copilot 应用现代化指导你完成修正步骤。 在此阶段,可以将预定义任务用于常见问题,例如:
- 从基于密码的身份验证切换到托管标识
- 从 Amazon Web Services (AWS) S3 迁移到 Azure Blob 存储
若要了解有关 GitHub Copilot 应用现代化中提供的预定义任务的详细信息,请参阅 预定义任务。
在开发方面,企业通常具有严格的流程和控制,这是客户定义的任务出现的地方。 有关详细信息,请参阅 快速入门:为 GitHub Copilot 应用现代化创建并应用自己的任务
客户定义的任务是通过分析以前迁移的应用程序中的代码提交自动生成的。 这些任务充当其他应用中类似问题的修正指南,使 Copilot 能够跨多个代码库应用经过验证的模式。 每次成功迁移后,知识库都会扩展、加速未来的修正并减少手动工作量
GitHub Copilot 应用现代化还包括以下专用代理:
- 验证您的应用是否成功构建
- 通过解决 CVE 来减少技术债务
- 使用单元测试验证行为完整性
有关详细信息,请参阅 GitHub Copilot 应用现代化 Java 实用工具。
现代化不仅仅是升级代码,而在于为云准备应用程序。 无论是面向 Azure 应用服务、Azure 容器应用、Azure Kubernetes 服务(AKS)还是 AKS 自动,Copilot 都可以帮助你更快、更自信地实现目标。