测试和部署转换后的模板
在重构阶段改进 Bicep 文件后,你需要测试文件并将其部署到 Azure 环境。 建议的工作流的第四个和第五个阶段是测试阶段和部署阶段:
这两个阶段的主要重点是使用可用工具测试 Bicep 文件,然后将文件部署到 Azure 环境。
测试阶段
将资源迁移到 Bicep 的测试阶段的目标是验证岁迁移模板的完整性并进行测试部署。
测试阶段包括两个步骤,需要按以下顺序完成:
- 运行 ARM 模板部署 What-if 操作。
- 进行测试部署。
What-if 操作提供将在部署 Bicep 文件时所做的更改的预览。 你将使用测试部署来对原始资源与新部署的资源进行比较。
什么是 ARM 模板部署 What-if 操作?
当部署新资源或修改现有资源时,可能会给环境带来中断性变更。 你的部署可能会修改或删除现有资源、创建错误配置的新资源或影响应用程序的总体功能。
ARM 模板部署 What-if 操作可以帮助你在部署模板之前验证转换后的模板。 它将环境的当前状态与模板中定义的预期状态进行比较。 该工具会输出将发生的变化的列表,但不会将变化应用到你的环境。 这一过程可以提高你对部署的信心。 你可以对增量和完整模式部署都使用 What-if 分析。 即使计划使用增量模式部署模板,最好也是在完整模式下运行 What-if 操作。 运行 What-if 操作可帮助识别模板中可能意外遗漏的任何资源。
注意
What-if 操作可能会将某些资源属性列为已删除,但这些属性实际上不会更改。 这些结果会被视为“干扰信息”。
测试部署
在将转换后的 Bicep 模板引入生产环境之前,请考虑运行多个测试部署。 如果有多个环境(生产、开发、测试),可能需要先尝试将模板部署到其中一个非生产环境。 部署后,将原始资源与新的资源部署进行比较,以确保一致性。
提示
如果无法访问非生产环境来测试部署,可以把 Bicep 模板部署到一个新的环境。
部署阶段
将资源迁移到 Bicep 的部署阶段的目标是将最终的 Bicep 文件部署到生产环境。 在生产部署之前,应该考虑一些事项。
部署阶段包括四个步骤,需要按以下顺序完成:
- 准备回滚计划。
- 针对生产运行 What-if 操作。
- 手动部署 Bicep 文件。
- 运行冒烟测试。
这些步骤可帮助你就生产部署可能出现的任何问题做好准备。
准备回滚计划
从失败的部署中恢复的能力至关重要。 花一些时间制定回退计划,以在环境中引入任何中断性变更时使用。 你的计划应考虑组织的业务连续性和灾难恢复 (BCDR) 策略。 清点已部署的资源类型,例如虚拟机、Web 应用和数据库。 还应考虑每个资源的数据平面。 是否具有恢复虚拟机及其数据的方法? 是否有办法在删除数据库后恢复数据库或从存储帐户恢复数据? 如果部署中出现任何问题,完善的回滚计划有助于将停机时间降至最低。
针对生产运行 What-if 操作
你已针对其他环境运行 What-if 操作,以验证新的 Bicep 文件不会导致任何中断性变更。 在将最终的 Bicep 文件部署到生产环境之前,请针对生产环境运行 What-if 操作。 确保使用生产参数值,并考虑记录结果。
手动部署
如果将在管道(例如 Azure DevOps 或 GitHub Actions )中使用转换后的模板,请考虑先在本地计算机上运行部署。 最好先验证模板的功能,然后再将模板添加到生产管道。 了解模板的运作方式后,如果出现问题,你就可以快速作出响应。
运行冒烟测试
部署完成后,最好运行一系列冒烟测试。 冒烟测试是一种简单的检查,用于验证应用程序或工作负载是否正常运行。 例如,测试 Web 应用是否可通过正常访问渠道访问,例如公共 Internet 或通过公司 VPN。 对于数据库,请尝试建立数据库连接并运行一系列查询。 对于虚拟机,登录到虚拟机并确保所有服务都在运行。