演習 - Bicep ファイルを Azure Pipelines からデプロイする
ローカル環境からリソースを検証、コンパイル、デプロイする方法を確認したら、それを拡張し、 それを Azure Pipeline に取り込んでデプロイ プロセスをさらに効率化する方法を確認します。
必須コンポーネント
Azure サブスクリプションが必要になります。持っていない場合は、始める前に無料アカウントを作成してください。
また、Azure DevOps 組織も必要です。 同様に、お持ちでない場合は、 無料で作成してください。
Azure サブスクリプションにリンクされている構成済みのサービス接続がプロジェクトに存在する必要があります。 これまでこれを行ったことがない場合は心配しないでください。パイプラインを作成するときに簡単に行う方法を紹介します。
また、先ほど作成した Bicep ファイルをプロジェクトの Azure リポジトリ にプッシュする必要があります。
パイプラインの作成
新しいパイプラインを作成する
Azure DevOps プロジェクト内から、[パイプライン] と [新しいパイプライン] を選択します。
Azure Repos Git (YAML) を選択し、ソースとして Azure Repo を指定します。
テンプレートの一覧から スターター パイプライン を選択します。
パイプライン YAML を構成する
スターター パイプライン ファイル内のすべてを次のスニペットに置き換えます。
trigger: - main name: Deploy Bicep files variables: vmImageName: "ubuntu-latest" azureServiceConnection: "myServiceConnection" resourceGroupName: "Bicep" location: "eastus" templateFile: "main.bicep" pool: vmImage: $(vmImageName) steps: - task: AzureCLI@2 inputs: azureSubscription: $(azureServiceConnection) scriptType: bash scriptLocation: inlineScript inlineScript: | az --version az group create --name $(resourceGroupName) --location $(location) az deployment group create --resource-group $(resourceGroupName) --template-file $(templateFile)
パイプラインについて
この YAML パイプラインでは、次の処理が実行されます。
トリガー: コードが
mainブランチにプッシュされると、自動的に実行されます。変数: パイプラインの再利用可能な値を定義します。
-
vmImageName: ビルド エージェント イメージ (Ubuntu) を指定します。 -
azureServiceConnection: Azure サービス接続の名前。 -
resourceGroupName: デプロイのターゲット リソース グループ。 -
location: リソースの Azure リージョン。 -
templateFile: Bicep ファイルへのパス。
-
プール: 指定した Ubuntu 仮想マシン イメージを使用します。
AzureCLI タスク:Azure CLI コマンドを実行します。
-
az --version: Azure CLI のバージョンを確認します。 -
az group create: リソース グループを作成します。 -
az deployment group create: Bicep テンプレートをデプロイします。
注
azureServiceConnectionの値をサービス接続名に置き換えることを忘れないでください。-
保存と実行
[保存して実行] を選択して、パイプライン YAML ファイルを含む新しいコミットをリポジトリに作成し、パイプラインを実行します。 パイプラインの実行が完了するまで待ち、状態を確認します。
デプロイを検証する
パイプラインが正常に実行されると、 Azure portal でリソース グループとストレージ アカウントを確認できるようになります。