Azure Bicep(二)語法簡介


一,引言

  上一篇文章有介紹到 Azure Bicep 的部署問題,文中也只是演示部署范圍為 Sub,並將演示的 Azure Resource Group 到 Azure。給定 Bicep 文件,可以部署的范圍很多,“資源組”,“訂閱”,“管理組”,“租戶”。那么今天的文章主要是分享部署 Azure Bicep 的不同方法。

參考文檔:使用 Bicep 和 Azure CLI 部署資

注意:若要部署 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 

版權:轉載請在文章明顯位置注明作者及出處。如發現錯誤,歡迎批評指正。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM