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 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章