次の方法で共有


クイック スタート: Bicep と Azure Pipelines の統合

このクイックスタートでは、継続的インテグレーションと継続的デプロイのために Bicep ファイルを Azure Pipelines と統合する方法について説明します。

Bicep ファイルをデプロイするために必要なパイプライン タスクの概要を簡単に説明します。 パイプラインとプロジェクトの設定の詳細な手順については、 Bicep と Azure Pipelines Microsoft Learn モジュールを使用した Azure リソースのデプロイ に関するページを参照してください。

[前提条件]

Azure サブスクリプションをお持ちでない場合は、始める前に無料アカウントを作成してください。

また、Azure DevOps 組織も必要です。 ない場合は、無料で作成してください。 チームに既に Azure DevOps 組織がある場合は、使用する Azure DevOps プロジェクトの管理者であることを確認してください。

Azure サブスクリプションへの サービス接続 を構成している必要があります。 パイプライン内のタスクは、サービス プリンシパルの ID で実行されます。 接続を作成する手順については、「 DevOps プロジェクトの作成」を参照してください。

プロジェクトのインフラストラクチャを定義する Bicep ファイル が必要です。 このファイルはリポジトリにあります。

Bicep ファイルで使用するパラメーターを定義する '.bicepparam' ファイルが必要です。 このファイルはリポジトリにあります。

パイプラインを作成する

  1. Azure DevOps 組織から、[パイプライン] と [ パイプラインの 作成] を選択 します

    新しいパイプラインの作成のスクリーンショット。

  2. コードの格納場所を指定します。 このクイック スタートでは、Azure Repos Git リポジトリを使用します。

    コード ソースの選択のスクリーンショット。

  3. プロジェクトのコードを含むリポジトリを選択します。

    リポジトリの選択のスクリーンショット。

  4. 作成するパイプラインの種類として [ スターター パイプライン] を選択します。

    パイプラインの選択のスクリーンショット。

Bicep ファイルをデプロイする

Azure リソース グループのデプロイ タスクまたは Azure CLI タスクを使用して、Bicep ファイルをデプロイできます。

Azure Resource Manager テンプレートのデプロイ タスクを使用する

Azure Resource Manager テンプレートデプロイ タスク バージョン 3.235.0 以降では、'.bicepparam' ファイルの使用がサポートされています。

AzureResourceManagerTemplateDeployment@3 タスクでは、.bicepparamを使用するときに 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'
        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'
        connectedServiceName: '${{ parameters.azureServiceConnection }}'
    
  2. azureServiceConnection___locationの値を更新します。

  3. リポジトリに有効な main.bicep ファイルがあることを確認します。

  4. main.bicepparam ステートメントを含む有効なusing ファイルがリポジトリにあることを確認します。

  5. 保存 を選択します。 ビルド パイプラインは自動的に実行されます。 ビルド パイプラインの概要に戻り、状態を確認します。

Azure CLI タスクを使用する

az deployment group create コマンドには、bicepparam. ファイルのみが必要です。 using ファイル内の .bicepparam ステートメントは、Bicep ファイルを参照するためにサポートされている任意の場所をターゲットにすることができます。 Bicep ファイルは、Azure CLI を使用してローカル ディスク パスから using する場合にのみ、リポジトリで必要です。

.bicepparam コマンドでaz deployment group create ファイルを使用する場合、パラメーターをオーバーライドすることはできません。

  1. スターター パイプラインを次の YAML に置き換えます。 リソース グループを作成し、.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 v2 タスクを参照してください。 エアギャップ クラウドでタスクを使用する場合は、タスクの useGlobalConfig プロパティを true に設定する必要があります。 既定値は false です。

  2. azureServiceConnection___locationの値を更新します。

  3. main.bicepparam ステートメントを含む有効なusing ファイルがリポジトリにあることを確認します。

  4. 保存 を選択します。 ビルド パイプラインは自動的に実行されます。 ビルド パイプラインの概要に戻り、状態を確認します。

リソースをクリーンアップする

Azure リソースが不要になったら、Azure CLI または Azure PowerShell を使用してクイック スタート リソース グループを削除します。

az group delete --name exampleRG

次のステップ