快速入门:安装和使用GitHub Copilot现代化代理

本快速入门将指导你安装GitHub Copilot现代化代理,并使用它实现示例应用程序的现代化。

先决条件

  • A GitHub Copilot 订阅:免费、专业版、专业版+、商业版或企业版计划。 请参阅 Copilot 计划
  • GitHub CLI:安装用于身份验证的 GitHub CLI(gh),版本 v2.45.0 或更高版本。 请参阅 安装 gh

平台要求

  • Windows:x64 或 ARM64。
  • Linux:具有 glibc 2.27 或更高版本的 x64 或 ARM64(Ubuntu 18.04 或更高版本、Debian 10 或更高版本、Fedora 29 或更高版本、Azure Linux 2.0 或更高版本)。
  • macOS:Apple Silicon 或 Intel。

安装现代化代理

使用以下命令安装现代化代理或更新到最新版本。

使用以下选项之一:

选项 1 - Winget (建议):

winget install GitHub.Copilot.modernization.agent

对于静默安装,无需提示:

winget install GitHub.Copilot.modernization.agent --silent

选项 2 - PowerShell 单行命令:

iex (irm 'https://raw.githubusercontent.com/microsoft/modernize-cli/main/scripts/install.ps1')

选项 3 - MSI 安装程序:

GitHub 发布页面下载并运行最新的 MSI

注释

安装后,打开新终端,使 modernize 命令在 PATH 上可用。 这些命令适用于初始安装和更新到最新版本。 将来的版本中将提供专用版本更新命令。

验证安装:

modernize --version

获取示例应用程序

对于本快速入门,请使用示例应用程序。 选择Java或.NET:

git clone https://github.com/Azure-Samples/PhotoAlbum-Java.git
cd PhotoAlbum-Java
git checkout -b modernize

使用交互模式

最简单的入门方法是使用交互式模式。 首先,使用 GitHub CLI 进行身份验证:

gh auth login

然后,运行现代化代理:

modernize

此时会显示主菜单:

○ What would you like to do?

  > Assess        Analyze your source application and generate an assessment report
    Plan          Create a modernization plan based on assessment findings
    Execute       Run tasks defined in your modernization plan
  ──────────────
    Upgrade       Upgrade your runtime and frameworks to the latest versions

步骤 1:评估应用程序

  1. 从主菜单中选择 “评估 ”。
  2. 选择如何指定目标存储库。 可以选择 “当前”文件夹 以使用当前目录、 手动输入 以输入本地路径或远程 Git URL,或 从配置文件 加载 JSON 配置文件中的存储库。 在本快速入门中,请选择当前文件夹
  3. 选择执行模式。 选择“ 本地评估 ”以在计算机上运行评估,或 委托到云代理 以允许云代理并行运行评估。 在此快速入门中,选择“在本地评估”。
  4. 选择评估域,例如 Java upgradeCloud Readiness,然后按 Enter
  5. 查看评估配置选项,例如分析覆盖率和目标运行时。 要在Continue上按Enter键以接受建议的默认值,或者根据需要调整各个设置。
  6. 接受默认输出路径或输入自定义输出路径,然后按 Enter 启动评估。
  7. 等待评估完成。

评估结果将保存到 .github\modernize\assessment\ 项目目录中。 代理将分析代码、依赖项和配置,以确定:

  • 过时的框架版本
  • 弃用的 API
  • 云兼容性问题
  • 迁移机会

步骤 2:创建现代化计划

评估完成后,代理会提示你根据已确定的问题创建现代化计划:

○ How would you like to continue?

  > 1. Create modernization plan
       Generate a plan.md file according to the identified issues
    2. Return to main menu
  1. 选择 1。创建现代化计划
  2. 输入计划名称或按 Enter 以使用默认名称。
  3. 输入您的现代化目标作为提示 默认情况下,提示为 References the assessment summary and creates plan,用于根据评估结果创建计划。 可以将它替换为任何其他迁移请求,例如:
    • migrate the database to Azure PostgreSQL
    • upgrade to Spring Boot 3
    • deploy to Azure Container Apps
  4. 按 Enter 生成计划。

代理分析代码库并生成:

  • 计划文件.github/modernize/{plan-name}/plan.md):详细的策略和方法。
  • 任务列表.github/modernize/{plan-name}/tasks.json):可执行步骤的细分。

小窍门

可以手动编辑 plan.md 以添加澄清或调整详细信息。 还可以在执行计划之前更新 tasks.json 以修改、重新排序、添加或删除任务。

步骤 3:执行现代化计划

验证计划后,确认是否要执行该计划。

○ How would you like to continue?

  > 1. Execute modernization plan
       Run the tasks defined in the modernization plan
    2. Return to main menu
  1. 选择 1。执行现代化计划
  2. 按 Enter 执行计划。
  3. 在代理应用更改时监视进度。

代理按顺序执行每个任务:

  • 根据计划进行代码更改。
  • 在每个更改后验证构建。
  • 扫描和处理 CVE。
  • 提交更改。

步骤 4:查看结果

执行完成后,可以查看代理在合并之前所做的所有更改:

  1. 查看更改:检查当前分支上的修改。

    git status
    git diff main
    
  2. 创建一个拉取请求:如果您对更改感到满意,请创建一个 PR 以供团队评审。

    gh pr create \
        --title "Modernization: migrate the app to azure" \
        --body "Automated modernization by GitHub Copilot agent"
    

后续步骤

提供反馈

您的输入非常重要! 如果对现代化代理有任何反馈,可以在 github-copilot-appmod 存储库创建问题,或使用 GitHub Copilot 现代化反馈表单提交您的反馈。