GitHub Copilot 现代化代理支持基础结构预配、容器化和部署。 这些功能遵循相同的 计划创建→ 整个代理中使用的计划执行模型。
工作流由两个阶段组成:
- 基础结构准备:生成和预配 Azure 基础结构。
- 容器化和部署:容器化和部署应用程序。
注释
这两个阶段是独立的。 可以一起运行它们,也可以单独使用每个阶段。 例如,如果已预配环境,请跳过基础结构准备,或者立即准备基础结构,稍后再部署。
先决条件
- Azure 订阅:用于预配基础设施的有效 Azure 订阅。
- 现代化 CLI:按照 快速入门 安装并进行身份验证。
阶段 1:基础结构准备
新式化代理根据所提供的输入创建一个计划来预配 Azure 基础结构。 此功能包括设计专为应用程序定制的 Azure 登陆区域 ,包括网络、标识、治理和安全基础。
输入
代理可以使用各种输入来通知基础结构计划:
- 应用程序源代码:用于确定技术堆栈、依赖项和资源要求的代码库分析。
-
评估报告:来自
modernize assess、Azure Migrate 或其他迁移和评估工具的报告。 - 体系结构关系图:存储库中的预迁移体系结构关系图或设计文档。
- 合规性和安全要求:组织策略、安全标准或登陆区域准则,以存储库中的文档或提示中的自然语言提供。
创建基础结构计划
使用 modernize plan create 提示说明您的基础设施需求:
modernize plan create "help create azure infrastructure for my app" --plan-name infra-setup
代理生成一个计划,其中包含建议的 Azure 体系结构和要预配的详细资源列表。 默认情况下,该计划涵盖 IaC 文件生成和资源预配。 您可以通过提示请求仅生成 IaC 文件。
小窍门
在提示中组合不同的输入和首选项。 例如:
"create an Azure landing zone tailored to my application's architecture and requirements""create azure infrastructure based on the assessment report, following our compliance policies in docs/security-requirements.md""generate Bicep files for the target architecture in the design doc, don't provision yet""provision azure resources based on the architecture diagram and assessment findings"
查看计划
在执行之前查看输出文件:
-
计划文件 (
.github/modernize/infra-setup/plan.md):基础结构策略和建议的体系结构。 -
任务列表 (
.github/modernize/infra-setup/tasks.json):代理执行的特定任务。
可以在执行之前编辑这两个文件来调整资源配置或修改方法。
执行基础结构计划
执行计划:
modernize plan execute --plan-name infra-setup
验证基础结构
查看生成的基础结构代码,并通过 Azure 门户或 Azure CLI 确认 Azure 资源:
git status
git diff main
阶段 2:容器化和部署
使用第二个计划来容器化应用程序并部署它。
注释
此阶段需要已迁移或升级的应用程序源代码。 在继续容器化和部署之前完成代码现代化。
创建部署计划
modernize plan create "containerize and deploy my app to azure, subscription: <sub-id>, resource group: <rg-name>" --plan-name deploy
可以容器化和部署在一起,或者使用单个计划单独处理它们。
- 容器化:为项目生成 Dockerfile 并验证容器映像生成。
- 部署:基于目标 Azure 托管服务创建所有必需的配置文件和清单,部署应用程序,并生成可重用的部署脚本供将来使用。
小窍门
自定义提示以满足你的需求:
-
"containerize my app and create dockerfile":仅容器化,无需部署。 -
"deploy my app to the AKS cluster in subscription: <sub-id>, resource group: <rg-name>":部署已容器化的应用程序。
查看计划
查看生成的计划文件:
-
计划文件 (
.github/modernize/deploy/plan.md):容器化和部署策略。 -
任务列表 (
.github/modernize/deploy/tasks.json):特定的部署任务。
执行部署计划
modernize plan execute --plan-name deploy
验证部署
查看代码更改:检查生成的 Dockerfile、部署清单和配置更改。
git status git diff main验证正在运行的应用程序:通过目标托管服务提供的 URL 访问已部署的应用程序。
使用交互式模式
还可以通过交互式 TUI 执行这两个阶段,方法是从 modernize 菜单中选择“ 创建现代化计划 ”。