我正在尝试创建一个ARM模板,以便可以将我的所有资源创建在一个天蓝色的订阅中,而又在另一个新的订阅中。例如,如果我在测试环境中有东西,我想在其他环境中创建新资源,以便以后能够部署代码。但是,我对Azure,powershell和ARM模板非常陌生,因此正在寻找有关从何处开始以及如何实现此目标的指南。
答案 0 :(得分:1)
因此,通常您将创建一个ARM模板来执行此操作。当您需要更改某些内容时,可以在其中添加\删除资源,然后将其部署到其他环境中。这类似于您跨环境升级应用程序的方式。首先,将其部署到开发人员,对其进行测试。然后,将其部署到测试中并进行更严格的测试,也许是性能测试。然后将其部署到生产中。
如果您要查找示例,请here's the official examples repo。 official docs might help as well。
答案 1 :(得分:1)
Azure资源管理器模板是自动将资源部署到ARM的首选方法。了解如何使用资源管理器模板和Azure PowerShell部署资源,您可以参考此官方document。
要部署到订阅,请使用New-AzDeployment:
New-AzDeployment -Location <location> -TemplateFile <path-to-template>
如果要使用Azure Devops部署Azure资源管理器模板,则可以引用这些模板(blog,blog)。关于devops的概念之一就是自动化,如果您不想每次通过门户手动创建环境时,这都是一个很好的尝试。
答案 2 :(得分:0)
您可以查看Azure Citadel自定进度的ARM template lab
答案 3 :(得分:0)
如果您真的想从ARM模板开始,则需要对模板azuredeploy.json
中的所有值进行参数化,并使用需要在环境(例如名称)之间进行更改的参数来构建参数文件azuredeploy.parameters.json
。 ,位置,sku /大小等。
尽管如果您只是刚入门,我还是建议直接使用Azure CLI。它简单,易于重复,您可以通过几个命令来部署整个解决方案。这将创建资源组,具有DB的SQL Logical Server和具有Web App的App Service Plan。
开发
az group create --name "rg-d-01" --location "australiaeast"
az appservice plan create --name "asp-d-01" --resource-group "rg-d-01" --location "australiaeast" --sku "S1"
az webapp create --name "awa-d-01" --plan "asp-d-01" --resource-group "rg-d-01"
az sql server create --name "sql-d-01" --resource-group "rg-d-01" --location "australiaeast"
az sql db create --server "sql-d-01" --resource-group "rg-d-01" --name "sqldb-d-01" --service-objective S0
测试
az group create --name "rg-t-01" --location "australiaeast"
az appservice plan create --name "asp-t-01" --resource-group "rg-t-01" --location "australiaeast" --sku "S1"
az webapp create --name "awa-t-01" --plan "awhp-t-01" --resource-group "rg-t-01"
az sql server create --name "sql-t-01" --resource-group "rg-t-01" --location "australiaeast"
az sql db create --server "sql-t-01" --resource-group "rg-t-01" --name "sqldb-t-01" --service-objective S0
产品
az group create --name "rg-p-01" --location "australiaeast"
az appservice plan create --name "asp-p-01" --resource-group "rg-p-01" --location "australiaeast" --sku "S1"
az webapp create --name "awa-p-01" --plan "awhp-p-01" --resource-group "rg-p-01"
az sql server create --name "sql-p-01" --resource-group "rg-p-01" --location "australiaeast"
az sql db create --server "sql-p-01" --resource-group "rg-p-01" --name "sqldb-p-01" --service-objective S0