分享方式:


快速入門:整合 Azure Pipelines 與 Bicep

本快速入門說明如何整合 Azure Pipelines 與 Bicep,以進行持續整合和持續部署 (CI/CD)。

其提供部署 Bicep 檔案所需的管線工作簡短簡介。 如果您需要更詳細的設定管線和專案的步驟,請參閱使用 Bicep 和 Azure Pipelines 來部署 Azure 資源

必要條件

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

您需要一個 Azure DevOps 組織。 如果您沒有帳戶,請免費建立一個。 如果您的團隊已有一個 Azure DevOps 組織,請確定您是所要使用 Azure DevOps 專案的管理員。

您必須完成 Azure 訂閱的服務連線設定。 管線中的工作會以服務主體的身分識別來執行。 如需建立連線的步驟,請參閱建立 DevOps 專案

您需要定義專案基礎結構的 Bicep 檔案。 此檔案位於存放庫中。

您需要 bicepparam 檔案 ,以定義 bicep 檔案所使用的參數。 此檔案位於存放庫中。

建立管線

  1. 從您的 Azure DevOps 組織,依序選取 [管線] 和 [建立管線]

    建立新管線的螢幕快照。

  2. 指定您程式碼的儲存位置。 本快速入門使用 Azure Repos Git。

    選取程式代碼來源的螢幕快照。

  3. 選取具有您專案程式碼的存放庫。

    選取存放庫的螢幕快照。

  4. 針對要建立的管線類型,選取 [入門管線]

    選取管線的螢幕快照。

部署 Bicep 檔案

您可以使用 Azure 資源群組部署工作或 Azure CLI 工作來部署 Bicep 檔案。

使用 Azure Resource Manager 範本部署工作

注意

從 Azure Resource Manager 範本部署工作的 3.235.0 版起,支援 bicepparam 檔案的使用方式。

注意

使用 bicepparam 時,工作 AzureResourceManagerTemplateDeployment@3 需要提供 Bicep 和 bicepparam 檔案。 Bicep 檔案可以參考模組參考的所有支援位置。 bicepparam 檔案必須參考 語句中的 using 本機 Bicep 檔案。

  1. 以下列 YAML 取代您的入門管線。 它會使用 Azure Resource Manager 範本部署工作建立資源群組,並部署 Bicep 和 bicepparam 檔案。

    trigger:
    - main
    
    name: Deploy Bicep files
    
    parameters:
    - name: azureServiceConnection
      type: string
      default: '<your-connection-name>'
    
    variables:
      vmImageName: 'ubuntu-latest'
      resourceGroupName: 'exampleRG'
      location: '<your-resource-group-location>'
      templateFile: './main.bicep'
      csmParametersFile: './main.bicepparam'
    
    pool:
      vmImage: $(vmImageName)
    
    steps:
    - task: AzureResourceManagerTemplateDeployment@3
      inputs:
        deploymentScope: 'Resource Group'
        azureSubscription: '${{ parameters.azureServiceConnection }}'
        action: 'Create Or Update Resource Group'
        resourceGroupName: '$(resourceGroupName)'
        location: '$(location)'
        templateLocation: 'Linked artifact'
        csmFile: '$(templateFile)'
        csmParametersFile: '$(csmParametersFile)'
        overrideParameters: '-storageAccountType Standard_LRS'
        deploymentMode: 'Incremental'
        deploymentName: 'DeployPipelineTemplate'
    
  2. 更新 azureServiceConnectionlocation 的值。

  3. 確認您的存放庫中有有效的 main.bicep 檔案。

  4. 確認您的存放庫中有包含using語句的有效main.bicepparam檔案。

  5. 選取 [儲存]。 組建管線會自動執行。 返回您的組建管線摘要,並監看狀態。

使用 Azure CLI

注意

az deployment group create 命令只需要 bicepparam 檔案。 using bicepparam 檔案中的 語句可以以任何支援的位置為目標來參考 Bicep 檔案。 只有在使用 Azure CLI 從本機磁碟路徑時 using ,您的存放庫中才需要 Bicep 檔案。

注意

當您搭配 az deployment group create 命令使用 bicepparam 檔案時,您無法覆寫參數。

  1. 以下列 YAML 取代您的入門管線。 它會建立資源群組,並使用 Azure CLI 工作來部署 bicepparam 檔案:

    trigger:
    - main
    
    name: Deploy Bicep files
    
    parameters:
      azureServiceConnection: '<your-connection-name>'
    
    variables:
      vmImageName: 'ubuntu-latest'
      resourceGroupName: 'exampleRG'
      location: '<your-resource-group-location>'
      bicepParamFile: './main.bicepparam'
    
    pool:
      vmImage: $(vmImageName)
    
    steps:
    - task: AzureCLI@2
      inputs:
        azureSubscription: '${{ parameters.azureServiceConnection }}'
        scriptType: bash
        scriptLocation: inlineScript
        useGlobalConfig: false
        inlineScript: |
          az --version
          az group create --name $(resourceGroupName) --location $(location)
          az deployment group create `
            --resource-group $(resourceGroupName) `
            --parameters $(bicepParamFile) `
            --name DeployPipelineTemplate
    

    如需工作輸入的描述,請參閱 Azure CLI 工作。 在實體隔離斷網的雲端使用工作時,您必須將工作的 useGlobalConfig 屬性設定為 true。 預設值是 false

  2. 更新 azureServiceConnectionlocation 的值。

  3. 確認您的存放庫中有包含using語句的有效main.bicepparam檔案。

  4. 選取 [儲存]。 組建管線會自動執行。 返回您的組建管線摘要,並監看狀態。

清除資源

如果不再需要 Azure 資源,請使用 Azure CLI 或 Azure PowerShell 模組來刪除快速入門資源群組。

az group delete --name exampleRG

下一步