测试和部署转换后的模板

已完成

在重构阶段改进 Bicep 文件后,你需要测试文件并将其部署到 Azure 环境。 建议的工作流的第四个和第五个阶段是测试阶段和部署阶段

Diagram that shows the test and deploy phases of the recommended workflow for migrating Azure resources to Bicep.

这两个阶段的主要重点是使用可用工具测试 Bicep 文件,然后将文件部署到 Azure 环境。

测试阶段

将资源迁移到 Bicep 的测试阶段的目标是验证岁迁移模板的完整性并进行测试部署。

测试阶段包括两个步骤,需要按以下顺序完成:

  1. 运行 ARM 模板部署 What-if 操作。
  2. 进行测试部署。

Diagram that shows a Bicep file being tested and deployed to Azure.

What-if 操作提供将在部署 Bicep 文件时所做的更改的预览。 你将使用测试部署来对原始资源与新部署的资源进行比较。

什么是 ARM 模板部署 What-if 操作?

当部署新资源或修改现有资源时,可能会给环境带来中断性变更。 你的部署可能会修改或删除现有资源、创建错误配置的新资源或影响应用程序的总体功能。

ARM 模板部署 What-if 操作可以帮助你在部署模板之前验证转换后的模板。 它将环境的当前状态与模板中定义的预期状态进行比较。 该工具会输出将发生的变化的列表,但不会将变化应用到你的环境。 这一过程可以提高你对部署的信心。 你可以对增量和完整模式部署都使用 What-if 分析。 即使计划使用增量模式部署模板,最好也是在完整模式下运行 What-if 操作。 运行 What-if 操作可帮助识别模板中可能意外遗漏的任何资源。

注意

What-if 操作可能会将某些资源属性列为已删除,但这些属性实际上不会更改。 这些结果会被视为“干扰信息”。

测试部署

在将转换后的 Bicep 模板引入生产环境之前,请考虑运行多个测试部署。 如果有多个环境(生产、开发、测试),可能需要先尝试将模板部署到其中一个非生产环境。 部署后,将原始资源与新的资源部署进行比较,以确保一致性。

提示

如果无法访问非生产环境来测试部署,可以把 Bicep 模板部署到一个新的环境。

部署阶段

将资源迁移到 Bicep 的部署阶段的目标是将最终的 Bicep 文件部署到生产环境。 在生产部署之前,应该考虑一些事项。

部署阶段包括四个步骤,需要按以下顺序完成:

  1. 准备回滚计划。
  2. 针对生产运行 What-if 操作。
  3. 手动部署 Bicep 文件。
  4. 运行冒烟测试。

这些步骤可帮助你就生产部署可能出现的任何问题做好准备。

Diagram that shows a Bicep file being deployed to Azure.

准备回滚计划

从失败的部署中恢复的能力至关重要。 花一些时间制定回退计划,以在环境中引入任何中断性变更时使用。 你的计划应考虑组织的业务连续性和灾难恢复 (BCDR) 策略。 清点已部署的资源类型,例如虚拟机、Web 应用和数据库。 还应考虑每个资源的数据平面。 是否具有恢复虚拟机及其数据的方法? 是否有办法在删除数据库后恢复数据库或从存储帐户恢复数据? 如果部署中出现任何问题,完善的回滚计划有助于将停机时间降至最低。

针对生产运行 What-if 操作

你已针对其他环境运行 What-if 操作,以验证新的 Bicep 文件不会导致任何中断性变更。 在将最终的 Bicep 文件部署到生产环境之前,请针对生产环境运行 What-if 操作。 确保使用生产参数值,并考虑记录结果。

手动部署

如果将在管道(例如 Azure DevOps 或 GitHub Actions )中使用转换后的模板,请考虑先在本地计算机上运行部署。 最好先验证模板的功能,然后再将模板添加到生产管道。 了解模板的运作方式后,如果出现问题,你就可以快速作出响应。

运行冒烟测试

部署完成后,最好运行一系列冒烟测试。 冒烟测试是一种简单的检查,用于验证应用程序或工作负载是否正常运行。 例如,测试 Web 应用是否可通过正常访问渠道访问,例如公共 Internet 或通过公司 VPN。 对于数据库,请尝试建立数据库连接并运行一系列查询。 对于虚拟机,登录到虚拟机并确保所有服务都在运行。