本综合指南介绍 GitHub Copilot 现代化中的高级评估功能,可帮助你最大程度地提高应用程序现代化评估过程的价值。
应用程序评估是现代化过程中的关键第一步。 本文介绍完整的评估工作流,可帮助你有效地处理评估报告、为不同方案配置评估,以及在整个现代化过程中管理评估数据。
关键功能包括:
- 每次运行多个报表:每个评估运行都会生成一个独立的报表。 可以从报表列表中访问以前的报表,以便跟踪评估历史记录并随时间推移比较结果。
-
用于不同目的的两个评估条目:GitHub Copilot 现代化提供了两种方法来启动评估:
- 建议的评估:通过从建议的域中进行选择来快速启动评估,而无需手动配置。
- 自定义评估:配置特定的评估属性,以根据具体需求定制分析。
建议的评估
建议的评估提供了一种简化的方法,无需手动配置即可启动评估。 当你希望快速评估应用程序的常见迁移方案的就绪情况时,此方法是理想的方法。
若要运行建议的评估,请使用以下步骤:
- 在 GitHub Copilot 现代化窗格的“快速入门”部分选择“开始评估”或“打开评估仪表板”。
- 选择 “建议的评估”。
- 从建议的选项列表中选择要评估的域。 每个域都表示具有预配置的设置的常见迁移方案。
- 选择 “确定 ”以启动评估。
评估完成后,该过程将生成一个新报表并将其添加到报表列表中。 可以通过从列表中选择报表来查看报表。
自定义评估
自定义评估使你可以根据特定的迁移需求定制评估分析。 需要对评估配置进行精细控制时,请使用此方法。
若要配置和运行自定义评估,请使用以下步骤:
- 在 GitHub Copilot 现代化窗格的“快速入门”部分选择“开始评估”或“打开评估仪表板”。
- 选择 “自定义评估”。
- 配置评估属性,如以下部分所述。
- 选择 “运行” 以启动评估。
配置属性
自定义评估配置表单由常规设置和特定于域的设置组成。 窗体根据所选的评估域显示特定于域的设置。
常规:评估域
选择要包含在评估中的一个或多个域。 评估时间取决于域选择和应用大小。
| 域名 | Description |
|---|---|
| Java 升级 | 确定过时的应用堆栈并获取升级建议。 |
| 云就绪情况 | 使用可操作的迁移指南评估应用的 Azure 就绪情况。 |
| 安全性 | 使用 ISO 5055 指南扫描代码中出现的安全问题,并建议进行修复。 |
常规:分析覆盖范围
选择评估应分析的内容。
| 价值 | Description |
|---|---|
| 仅问题 | 分析源代码以检测问题。 |
| 问题和技术 | 分析源代码以检测问题和识别已用技术。 |
| 问题、技术和依赖项 | 分析源代码以检测问题、识别已使用的技术并映射依赖项。 |
Java 升级:目标运行时
选择 Java 升级 域时,窗体将显示此设置。 选择目标 JDK 以分析依赖项和过时的应用堆栈。
| 价值 | Description |
|---|---|
| OpenJDK 21 | 迁移到 OpenJDK 21 的最佳做法。 (推荐使用) |
| OpenJDK 17 | 迁移到 OpenJDK 17 的最佳做法。 |
| OpenJDK 11 | 迁移到 OpenJDK 11 的最佳做法。 |
云就绪情况:目标计算服务
选择 云就绪 域时,窗体将显示此设置。 选择目标 Azure 计算服务以迁移应用程序。 如果尚未确定要使用哪个目标,请选择多个目标。 然后,可以比较评估报告的目标。
| 价值 | Description |
|---|---|
| Azure 应用服务 | 部署应用到 Azure 应用程序服务的最佳做法。 |
| Azure Kubernetes 服务 (AKS) | 部署应用到 Azure Kubernetes 服务的最佳做法。 |
| Azure 容器应用 (ACA) | 部署应用到 Azure 容器应用的最佳做法。 |
云就绪情况:目标操作系统
选择 云就绪 域时,窗体将显示此设置。 选择要运行应用的目标操作系统。
| 价值 | Description |
|---|---|
| Linux | 将应用程序迁移到 Linux 平台的最佳做法。 |
| Windows操作系统 | 将应用程序迁移到 Windows 平台的最佳做法。 |
云就绪情况:容器化
选择 云就绪 域时,窗体将显示此设置。 启用以分析需要修复的问题以容器化应用。
| 价值 | Description |
|---|---|
| 启用容器化 | 容器化应用程序的最佳做法。 |
例子
以下示例介绍了一些常见的配置方案:
示例一:你想要将应用作为 Linux 容器迁移到 AKS,并想要了解需要修复的问题。 使用以下配置:
- 评估域:选择 云就绪情况
- 分析覆盖范围: 仅选择问题
- 目标计算服务:选择 Azure Kubernetes 服务(AKS)
- 目标操作系统:选择 Linux
- 容器化:选择 “启用容器化”
示例二:你想要将应用迁移到应用服务 Linux,并想要了解需要修复的问题。 使用以下配置:
- 评估域:选择 云就绪情况
- 分析覆盖范围: 仅选择问题
- 目标计算服务:选择 Azure 应用服务
- 目标操作系统:选择 Linux
示例三:你想要将应用现代化为 JDK 21,并想要了解需要修复的问题。 使用以下配置:
- 评估域:选择 Java 升级
- 分析覆盖范围: 仅选择问题
- 目标运行时:选择 OpenJDK 21
工具完成评估后,会生成一个新报表并将其添加到报表列表中。 交互式仪表板会自动打开,提供全面的分析结果。 配置多个 Azure 服务目标后,可以轻松地在它们之间切换,以比较迁移方法并查看特定于服务的建议。
解释评估报告
评估报告提供全面的分析结果,可帮助你了解应用程序的 Azure 迁移和现代化准备情况。 本部分将指导你完成报表结构,并帮助你解释调查结果,以便做出明智的迁移决策。
报表结构概述
评估报告由几个关键部分组成:
- 应用程序信息:有关应用程序的基本信息,包括 Java 版本、框架、生成工具和项目结构。
- 问题摘要:按具有关键百分比的域分类的迁移问题的概述。
-
详细分析:详细报告组织为以下四个子节。
- 问题:提供需要注意的所有问题的简明摘要。
- 依赖项:显示应用程序中找到的所有 Java 打包的依赖项。
- 技术:显示按功能分组的所有嵌入式库,以便快速查看应用程序中使用的技术。
- 见解:显示文件详细信息和概况,帮助你了解识别出的技术。
问题
通过选择“ 问题 ”选项卡来访问此部件。此选项卡为云就绪情况、Java 升级和安全性的各个方面提供了一个分类的问题列表,需要解决这些问题,以便成功将应用程序迁移到 Azure。 下表描述了 域 和 关键性 值:
| 域名 | Description |
|---|---|
| Java 升级 | 确定过时的应用堆栈并获取升级建议。 |
| 云就绪情况 | 使用可操作的迁移指南评估应用的 Azure 就绪情况。 |
| 安全性 | 使用 ISO 5055 指南扫描代码中出现的安全问题,并建议进行修复。 |
| 重要性 | Description |
|---|---|
| 必需 | 必须修复的问题才能迁移到 Azure。 |
| 潜在 | 可能影响迁移和需要评审的问题。 |
| 可选 | 影响较低的问题。 建议修复它们,但可选。 |
有关详细信息,请通过选择标题来展开每个报告的问题。 该报告提供以下信息:
- 事件发生的文件列表,以及受影响的代码行数。 如果该文件是 Java 源文件,则选择文件行号会将你定向到相应的源报表。
- 问题的详细说明。 此说明概述了问题,提供了任何已知解决方案,并引用了有关问题或解决方法的支持文档。
依赖关系
通过选择“ 依赖项 ”选项卡来访问此部件。此选项卡显示应用程序中找到的所有 Java 打包依赖项。
技术
通过选择“ 技术 ”选项卡来访问此部分。此选项卡列出了分析应用程序中按函数分组的技术出现次数。 此报表概述了应用程序中发现的技术,旨在帮助你快速了解每个应用程序的目的。
洞见
通过选择 “见解 ”选项卡来访问此部分。它显示文件详细信息和信息,以帮助你了解检测到的技术。
操作评估报告
有效的报表管理能够促进协作、保持评估历史记录,并与现有工作流进行集成。 每个评估运行都会在报表列表中生成独立的报表,你可以根据需要导入、导出或删除单个报表。
导入评估报告
除了直接在 GitHub Copilot 现代化中运行评估,还可以导入评估报告。 报告可能来自 AppCAT CLI 结果,例如 report.jsonGitHub Copilot 现代化导出的报表,也可以来自 Dr. Migrate 的应用上下文文件。
若要将评估报告导入到 GitHub Copilot 现代化,请在评估报表页中选择“ 导入 ”,或按 Ctrl+Shift+P ,然后搜索 导入评估报告。
导出评估报告
在评估仪表板中,可以查看评估检测到的问题,并选择迁移解决方案来确定决策。 可以导出报表并将其与他人共享。 如果导出报表,则其他人无需自行运行评估,并且可以导入报表并直接查看评估和迁移决策。
若要从 GitHub Copilot 现代化导出评估报告,请在报表列表中选择目标报表上的“ ...”( 更多操作)按钮,然后选择“ 导出”。
删除评估报告
如果不再需要报表,可以从报表列表中将其删除。
若要删除评估报表,请在报表列表中选择目标报表上的 ...(更多 操作)按钮,然后选择“ 删除”。
在运行评估之前进行配置
在运行评估之前,请在 GitHub Copilot 现代化评估窗格中选择“配置评估”对其进行配置。
配置属性
目前,可以配置评估的target、capabilityos属性和mode属性。
默认情况下,评估以 Azure Kubernetes 服务(AKS)、Azure 应用服务和 Azure 容器应用(ACA)作为服务目标运行。
target:要运行应用的 Azure 计算服务。 如果尚未确定要使用哪个目标,请选择多个目标。 然后,可以比较评估报告的目标。价值 Description azure-aks部署应用到 Azure Kubernetes 服务的最佳做法。 azure-appservice部署应用到 Azure 应用程序服务的最佳做法。 azure-container-apps部署应用到 Azure 容器应用的最佳做法。 capability:实现应用现代化的目标技术。价值 Description containerization容器化应用程序的最佳做法。 openjdk11迁移到 OpenJDK 11 的最佳做法。 openjdk17迁移到 OpenJDK 17 的最佳做法。 openjdk21迁移到 OpenJDK 21 的最佳做法。 os:要运行应用的目标作系统。价值 Description linux将应用程序迁移到 Linux 平台的最佳做法。 windows将应用程序迁移到 Windows 平台的最佳做法。 mode:分析模式。价值 Description issue-only分析源代码以仅检测问题。 source-only分析源代码以检测问题和已用技术。 full分析源代码以检测问题和已用技术,并列出依赖项。
例子
以下示例描述了一些配置:
示例一:你想要将应用作为 Linux 容器迁移到 AKS,并想要了解需要修复的问题。 使用以下配置:
appcat: - target: - azure-aks os: - linux mode: issue-only示例二:你想要将应用迁移到应用服务 Linux,并想要了解需要修复的问题。 使用以下配置:
appcat: - target: - azure-appservice os: - linux mode: issue-only示例三:你想要将应用现代化为 JDK21,并想要了解需要修复的问题。 使用以下配置:
appcat: - capability: - openjdk21 mode: issue-only
该工具运行评估后,会自动打开交互式仪表板,该仪表板提供全面的分析结果。
解释评估报告
评估报告提供全面的分析结果,可帮助你了解应用程序的 Azure 迁移和现代化准备情况。 本部分将指导你完成报表结构,并帮助你解释结果以做出明智的迁移决策。
报表结构概述
评估报告由几个关键部分组成:
- 应用程序信息:有关应用程序的基本信息,包括 Java 版本、框架、生成工具、项目结构和目标 Azure 服务。
- 问题摘要:按具有关键百分比的域分类的迁移问题的概述。
-
详细分析:详细报告组织为以下四个子节。
- 问题:提供需要注意的所有问题的简明摘要。
- 依赖项:显示应用程序中找到的所有 Java 打包的依赖项。
- 技术:显示按功能分组的所有嵌入式库,使你能够快速查看应用程序中使用的技术。
- 见解:显示文件详细信息和概况,帮助你了解识别出的技术。
问题
通过选择“ 问题 ”选项卡来访问此部件。此选项卡针对云准备情况和 Java 升级的各个方面提供了一个分类的问题列表,需要解决这些问题,以便成功将应用程序迁移到 Azure。 下表描述了 域 和 关键性 值:
| 域名 | Description |
|---|---|
| 云就绪情况 | 评估应用依赖项以建议 Azure 服务并确保云原生就绪。 |
| Java 升级 | 标识用于版本升级的 JDK 和框架问题。 |
| 重要性 | Description |
|---|---|
| 必需 | 必须修复的问题才能迁移到 Azure。 |
| 潜在 | 可能影响迁移和需要评审的问题。 |
| 可选 | 影响较低的问题。 建议修复它们,但可选。 |
有关详细信息,请通过选择标题来展开每个报告的问题。 该报告提供以下信息:
- 事件发生的文件列表,以及受影响的代码行数。 如果该文件是 Java 源文件,则选择文件行号会将你定向到相应的源报表。
- 问题的详细说明。 此说明概述了问题,提供了任何已知解决方案,并引用了有关问题或解决方法的支持文档。
依赖关系
通过选择“ 依赖项 ”选项卡来访问此部件。此选项卡显示应用程序中找到的所有 Java 打包依赖项。
技术
通过选择“ 技术 ”选项卡来访问此部分。此选项卡列出了分析应用程序中按函数分组的技术出现次数。 此报表概述了应用程序中发现的技术,旨在帮助你快速了解每个应用程序的目的。
洞见
通过选择 “见解 ”选项卡来访问此部分。显示文件详细信息和信息,以帮助了解检测到的技术。
删除评估报告
如果不再需要报表,可以将其删除。
若要删除评估报告,请右键单击“ 评估报告 ”,然后选择“ 删除”。