部署 ARM 模板
无论是在测试环境中还是在生产环境中部署模板,从 Azure Cloud Shell 或命令行进行部署的能力都至关重要。 本单元将介绍以下部署模板的方法:
- Azure PowerShell
- Azure CLI
- GitHub Actions
有时,需要从不同的位置进行部署。 例如:
- 从本地文件部署。
- 使用统一资源标识符 (URI) 从外部或远程位置部署。
这两种方法都包括使用参数文件的选项。
部署模板时,需要指定一个包含资源的资源组。 在运行部署命令之前,请使用 Azure CLI 或 Azure PowerShell 创建资源组。
还需要为部署提供名称,以便在部署历史记录中可以轻松地识别它。 如果没有为部署提供名称,将默认使用模板文件的名称。 例如,如果部署一个名为 azuredeploy.json 的模板,但未指定部署名称,则该部署将命名为“azuredeploy”。
为方便起见,另请创建一个用于存储模板文件路径的变量。 使用此变量可以更轻松地运行部署命令,因为无需在每次部署时都指定路径。
在使用 ARM 模板功能部署到多个 Azure 环境模板中,你学习了如何使用 ARM 模板参数文件来保存值。 然后,在部署模板时,这些值传入到 ARM 模板中。 你也可以将参数作为命令本身的一部分,以内联参数的形式进行传递。 内联参数非常适合作为脚本环境的一部分用于自动部署。在脚本环境中,参数以编程方式生成。
Azure PowerShell
使用 Azure PowerShell 通过 ARM 模板将资源部署到 Azure 时,需要注意一些范围。 根据部署的范围,可以使用不同的命令来确定部署目标:
- 若要部署到资源组,请使用 New-AzResourceGroupDeployment。
- 若要部署到订阅,请使用 New-AzSubscriptionDeployment。
- 若要部署到管理组,请使用 New-AzManagementGroupDeployment。
- 若要部署到租户,请使用 New-AzTenantDeployment。
在大多数情况下,会将部署的目标范围定为资源组(这是本模块的重点)。 当你需要在更大范围内应用策略或角色分配时,可以将部署的目标范围定为订阅、管理组或租户。
Azure CLI
Azure CLI 部署存在相同的部署范围:
- 若要部署到资源组,请使用 az deployment group create。
- 若要部署到订阅,请使用 az deployment sub create。
- 若要部署到管理组,请使用 az deployment mg create。
- 若要部署到租户,请使用 az deployment tenant create。