一,引言
上一篇文章有介紹到 Azure Bicep 的部署問題,文中也只是演示部署范圍為 Sub,並將演示的 Azure Resource Group 到 Azure。給定 Bicep 文件,可以部署的范圍很多,“資源組”,“訂閱”,“管理組”,“租戶”。那么今天的文章主要是分享部署 Azure Bicep 的不同方法。
注意:若要部署 Bicep 文件,需要安裝 Azure CLI 2.20.0 或更高版本
--------------------我是分割線--------------------
1,Azure Bicep 開發利器
2,Azure Bicep(二)語法簡介
二,正文
1,參數定義
每個參數需要一個名稱和類型,參數不能和同一部署范圍內的變量,資源,輸出或者其他參數同名。
常用的參數類型都包括:“string”,“int”,“bool”,“object”,“array” 等
需要注意的是 Bicep 文件中的必要參數和可選參數,我們可以通過定義 Azure Web App 為例
//targetScope='resourceGroup' Default Deplay Target param webAppName string = toLower('cnbateblogweb') param webSiteName string=toLower('${webAppName}-appservice') param runtime string='.NET 6' param webAppPlanName string =toLower('${webAppName}-appserviceplan') param location string = resourceGroup().location // Location for all resources resource appServicePlan 'Microsoft.Web/serverfarms@2020-12-01' = { name: webAppPlanName location: location sku: { name: 'F1' capacity: 1 } } resource webApplication 'Microsoft.Web/sites@2018-11-01' = { name: webSiteName location: location properties: { serverFarmId: appServicePlan.id siteConfig:{ linuxFxVersion:runtime } } }
如果我們需要為參數提供不同的值,即可針對不同環境重復使用Bicep 文件,資源管理器會在啟動部署操作之前解析參數值,只要參數,資源管理器就會將其替換為解析的值。
2,部署范圍
文章的最開始也將到了,如果我們需要利用Azure CLI 部署 Bicep,就得使用 Azure CLI 2.20或者更高版本
范圍 | 部署命令 |
資源組 | az deployment group create |
管理組 | az deployment mg create |
租戶 | az deployment tenant create |
訂閱 | az deployment sub create |
重點:需要注意的是,Bicep 文件中的 targetScope 和 執行Azure CLI 部署 Bicep 文件的部署命令一致。開始之前,使用 azure login 建立連接關系。
如果要部署不村子的資源組,得先利用 Azure CLI 創建資源組(az group create --name xxxxx -location xxxxxxx),然后再部署本地 Bicep 文件。(參考上述表格的內容)
3,部署過程
在部署 Bicep 文件時,我們需要(不是必須的)為當前部署指定部署名稱,此名稱可以幫助我們從部署歷史記錄中檢索該部署。如果沒有為部署提供名稱,將使用 Bicep 文件的名稱。
我們在每次運行部署時,就會有一條包含部署名稱的條目會添加到資源組的部署歷史記錄中。 如果運行另一個相同的名稱部署,則會將先前的條目替換為當前部署。 如果要在部署歷史記錄中保持唯一條目,請為每個部署指定唯一名稱。
所以,我們要注意的是,為避免與並發部署沖突並確保部署歷史記錄中的條目是唯一的,我們需要為每個部署指定唯一的名稱。
4,回滾
此功能只能用於資源組部署。 它不支持訂閱、管理組或租戶級別的部署。如果指定的較早部署在部署歷史記錄中不存在,則回滾將返回錯誤。如果我們要使用此選項,那么部署在部署歷史記錄中必須具有唯一名稱。 只有唯一名稱才能標識特定的部署。 如果沒有唯一名稱,失敗的部署可能會覆蓋歷史記錄中的成功部署。
1)如果需要回滾到最后一個成功的部署(添加 --rollback-on-error
參數作為標志)
az deployment group create --name xxxxx --resource-group xxxxx --template-file xxxxx.json --rollback-on-error
2)如果需要回滾到特定的部署(添加 --rollback-on-error
參數並提供部署名稱作為標志)
az deployment group create --name xxxxx --resource-group xxxxx --template-file xxxxx.json --rollback-on-error deployment01
5,部署歷史
1)列出資源組部署
az deployment group list --resource-group xxxxx
2)獲取特定部署
az deployment group show --resource-group xxxxx --name deployment01
............
同時,我們還可以通過Azure 資源管理器查看部署歷史,檢查過去的部署中的特定操作和部署的資源
重點:個資源組的部署歷史記錄限含 800 個部署。 接近限制時,將自動從歷史記錄中刪除部署。
三,結尾
今天,我們只是從常用語法上介紹了Azure Bicep,從參數的聲明,到部署過程,再部署歷史,最后到回滾。其中的還有很多語法文中沒有體現出來,大家可以自行查看文章開始的參考鏈接。下一篇將從實際開始,通過代碼演示的方式分享操作。本文所分享的內容也存在着很多我自己的一些理解,有理解不到位的,還包含,並且指出不足之處!!!!!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。
作者:Allen
版權:轉載請在文章明顯位置注明作者及出處。如發現錯誤,歡迎批評指正。