Azure Bicep 開發利器

Grant_Allen發表於2021-08-19

  Bicep 是一種用於宣告式部署Azure資源的領域特定語言。它的目標是通過更清晰的語法、改進的型別安全性、以及對模組化和程式碼重用的更好支援,徹底簡化編寫體驗。

  Bicep 其實是對 ARM 模板的透明抽象,Bicep程式碼被解析成標準的 JSON 檔案,它有效地將 ARM模板 視為一種中間語言(IL)。Bicep 不是編寫應用程式的通用程式語言,而是宣告Azure資源和資源屬性的語言。簡單來說,它是用來開發 Azure ARM 模板的。

Azure Bicep 文件:https://docs.microsoft.com/zh-cn/azure/azure-resource-manager/bicep/overview

Bicep 文件:https://github.com/Azure/bicep

安裝 Becep 工具

(1)VS Code 編輯器安裝 Bicep 外掛

(2)安裝 Bicep CLI

  1) 利用 Azure CLI 手動安裝

az bicep install

   2) 利用 Chocolatey 手動安裝

choco install bicep

 

 

建立 Bicep 檔案

在Bicep專案目錄下建立字尾為 bicep 的 main 檔案,這個時候會下載.NET runtime ,稍等片刻。

 

 

Azure資源的宣告還是從最熟悉的資源組開始,在 “main.bicep” 檔案中中輸入 “res-rg” ,並按Tab 補全程式碼。新增Scope作用域,如下圖所示

targetScope='subscription'

resource rg 'Microsoft.Resources/resourceGroups@2021-04-01' = {
  name: 'Web_Test_Bicep_RG'
  location: 'EastAsia'
  tags:{
    'tag': 'create by bicep'   
  }
}

當前程式碼中標記為紅色的為自定義值。

點選圖中箭頭指向,可以以視覺化的方式檢視資源依賴關係

 

 

預部署檢查Bicep

在部署 Bicep 檔案之前,可以預測即將發生的資源更改。 此時我們需要新增在CLI 命令中加入 what-if,方便我們檢視不同型別資源的更改。

az deployment sub  what-if --location "eastasia" --template-file "main.bicep"

 

 

部署Bicep

Bicep 能定義將資源部署到設定目標有 “資源組”,“訂閱”,“管理組”,“租戶”

本文中演示是將 “Web_Test_Rg” 部署到 “訂閱”

az deployment sub create --confirm-with-what-if --location "eastasia" --template-file "main.bicep"

 

 

檢視資源組部署狀況

通過本篇文章介紹的 Bicep 語法的使用來看確實不需要寫太多的引數設定,要比 JSON 語法更簡單。更為我們在選擇基礎設施即程式碼的解決方案上又增加了新的方案。

相關文章