Azure

Azure Pipelines YAML 完全ガイド|Stages/Jobs/Steps・Templates・Variable Groups・Approval Gate

2026-05-24
NicheeLab編集部

Azure Pipelines は Azure DevOps Services のビルド・リリース自動化サービスで、YAML 構文で CI/CD パイプラインを定義する『Pipelines as Code』方式。 Microsoft が GitHub Actions と並行して主力 CI/CD サービスとして提供しており、Azure DevOps Services を採用する企業の事実上の標準です。 本記事では、Azure Pipelines YAML の基本構造・Templates・Variable Groups・Environments・Workload Identity Federation を網羅的に整理します。

YAML パイプラインの基本構造

Azure Pipelines YAML は階層構造で定義します。

要素役割使用例
triggerパイプライン起動条件branch / path / tag フィルタ
pool実行 AgentMicrosoft-hosted・Self-hosted
variables変数定義変数・Variable Group・Variable Template
stages論理的なステージBuild・Test・Deploy
jobs並列実行単位Stage 内の並列ジョブ
steps順次実行単位script・task の列

最小サンプル: Hello World

trigger:
  branches:
    include:
      - main

pool:
  vmImage: ubuntu-latest

steps:
  - script: echo "Hello, Azure Pipelines!"
    displayName: 'Print greeting'

Stages / Jobs / Steps の使い分け

Stages

  • 大きな論理ブロック (Build → Test → Deploy to Dev → Deploy to Prod)
  • Stage 間は順次実行 (依存設定可)
  • Stage ごとに Approval Gate 設定可能

Jobs

  • Stage 内の並列実行単位
  • Agent ごとに 1 Job
  • 複数 OS でマルチプラットフォームビルドなど

Steps

  • Job 内の順次実行単位
  • 最小実行単位

Multi-stage パイプラインの例

stages:
  - stage: Build
    jobs:
      - job: BuildJob
        steps:
          - script: npm install
          - script: npm run build
          - publish: dist
            artifact: webapp

  - stage: DeployDev
    dependsOn: Build
    jobs:
      - deployment: DeployToDev
        environment: dev
        strategy:
          runOnce:
            deploy:
              steps:
                - download: current
                  artifact: webapp
                - task: AzureWebApp@1
                  inputs:
                    azureSubscription: 'AzureServiceConnection'
                    appName: 'myapp-dev'
                    package: '$(Pipeline.Workspace)/webapp'

  - stage: DeployProd
    dependsOn: DeployDev
    jobs:
      - deployment: DeployToProd
        environment: prod
        strategy:
          runOnce:
            deploy:
              steps:
                - download: current
                  artifact: webapp
                - task: AzureWebApp@1
                  inputs:
                    azureSubscription: 'AzureServiceConnection'
                    appName: 'myapp-prod'
                    package: '$(Pipeline.Workspace)/webapp'

Pipeline Templates

Pipeline Templates は YAML パイプラインの再利用可能なコンポーネント。3 種類:

  • Stage Templates: Stage 全体の再利用 (e.g. 標準ビルドステージ)
  • Job Templates: Job レベルの再利用 (e.g. 標準テストジョブ)
  • Step Templates: Step 列の再利用 (e.g. NuGet install + Build)

Step Template の例

# templates/build-node.yml
parameters:
  - name: nodeVersion
    type: string
    default: '20.x'
  - name: workingDirectory
    type: string

steps:
  - task: NodeTool@0
    inputs:
      versionSpec: ${{ parameters.nodeVersion }}
  - script: npm install
    workingDirectory: ${{ parameters.workingDirectory }}
  - script: npm run build
    workingDirectory: ${{ parameters.workingDirectory }}

Template の呼び出し

steps:
  - template: templates/build-node.yml
    parameters:
      nodeVersion: '20.x'
      workingDirectory: 'frontend'

Variables と Variable Groups

Variable 定義方法

  • Pipeline 内インライン: variables: { appName: 'myapp' }
  • Variable Group: Azure DevOps Library で集中管理
  • Variable Template: 再利用可能な変数セット
  • Key Vault 統合: Azure Key Vault の Secret を直接マッピング

Key Vault 連携の例

variables:
  - group: KeyVaultGroup  # Azure DevOps Library で Key Vault Reference 設定済み

jobs:
  - job: Deploy
    steps:
      - script: |
          echo "Database connection: $(DB_CONNECTION_STRING)"
        env:
          DB_CONNECTION_STRING: $(DB_CONNECTION_STRING)

Key Vault 統合により、Secret 値が Azure DevOps を経由せず Pipeline 実行時に Key Vault から動的取得。Secret ローテーション時も Pipeline 修正不要で、本番運用では必須パターンです。

Environments と Approval Gate

Environments は、デプロイ先 (Dev・Stage・Prod) を Azure DevOps 上で論理的に管理する機能。各 Environment に以下を設定可能。

  • Approval: Required Reviewers (1-3 人の承認者必須)
  • Gates: Branch Restriction・Time Window・Azure Monitor Alerts・Service Now チケット確認
  • Resources: Kubernetes / VM Resource を Environment と紐付け

Production Environment への Deploy Stage で『2 人の Approver による承認必須』『業務時間外のみデプロイ可』『直前 1 時間に Azure Monitor アラートなし』のような複合 Gateを構成し、安全な本番リリースを実現。 Environment は Deploy 履歴も保存し、誰がいつ何をデプロイしたかの監査トレースを提供。SOC2 / ISO 27001 のコンプライアンス対応に必須の機能です。

Service Connections と Workload Identity Federation

Service Connections は Azure DevOps から外部システム (Azure・GitHub・Docker・Kubernetes) へのアクセス認証を集中管理する機能。

Azure 認証の進化

  1. Service Principal + Secret (レガシー、Secret ローテーション必要)
  2. Service Principal + Certificate (中程度)
  3. Workload Identity Federation (WIF) (現代主推奨、Secret 不要)

WIF は 2023 年に Azure Pipelines でサポート開始、Service Principal に Federated Credential を構成して OIDC トークンで Azure 認証。 Secret や Certificate の管理が完全不要で、CI/CD パイプラインでのシークレット漏洩リスクをゼロ化。詳細は Managed Identity vs Service Principal 記事を参照、新規 Azure DevOps プロジェクトでは WIF 一択というのが業界標準です。

デプロイ戦略

戦略動作適用シーン
RunOnce1 回のデプロイで完了シンプル本番デプロイ
Rolling順次インスタンスを更新VM Scale Set・段階的リリース
Canary少数インスタンスで先行公開新機能の限定テスト
Blue-Green2 環境を切り替えてデプロイApp Service Deployment Slot

ベストプラクティス

  1. YAML を必ずバージョン管理 (Git で履歴・レビュー)
  2. Templates で再利用性確保 (共通リポジトリで集中管理)
  3. Variable Groups + Key Vault 統合 (Secret 管理の堅牢化)
  4. Environments + Approval Gate (本番リリースの安全性)
  5. Workload Identity Federation (シークレットレス CI/CD)
  6. Self-hosted Agent でセキュア環境 (機密 IaC を Public Agent で実行しない)
  7. Artifact のバージョン管理 (Azure Artifacts で nuget/npm/maven 集中管理)
  8. パイプライン実行時間 30 分以内 (長時間は分割や並列化を検討)
  9. 失敗時の Notification (Teams / Slack 統合)
  10. Pipeline as Code を Linter で検証 (azure-pipelines-vscode 拡張機能)

Azure Pipelines vs GitHub Actions

項目Azure PipelinesGitHub Actions
所属Azure DevOps ServicesGitHub
YAML 構文azure-pipelines.yml.github/workflows/*.yml
Microsoft-hosted Agent無料 1,800 分/月 (Public Repo)無料 2,000 分/月 (Free Tier)
Approval GateEnvironment 機能Environment + Reviewers
MarketplaceAzure DevOps MarketplaceGitHub Marketplace (圧倒的に豊富)
適用シーン既存 Azure DevOps 環境新規・GitHub 中心

関連認定試験

よくある質問

Azure Pipelines の YAML パイプラインとは?

Azure Pipelines は Azure DevOps Services のビルド・リリース自動化サービスで、YAML 構文で CI/CD パイプラインを定義する『Pipelines as Code』方式。azure-pipelines.yml ファイルをリポジトリに格納し、Git コミットでパイプラインが自動更新。Classic Pipelines (UI ベース、レガシー) と YAML Pipelines (現代の主流) があり、新規プロジェクトは YAML 一択。GitHub・Azure Repos・Bitbucket Cloud と統合可能で、Microsoft-hosted Agent (Windows/Linux/macOS) と Self-hosted Agent (自社環境) で実行。Microsoft が GitHub Actions と並行して主力 CI/CD サービスとして提供しており、Azure DevOps Services を採用する企業の事実上の標準です。

YAML パイプラインの基本構造は?

階層構造: 1) trigger (パイプライン起動条件: branch・path・tag)、2) pool (実行 Agent: Microsoft-hosted・Self-hosted)、3) variables (変数・Variable Group・Variable Template)、4) stages (論理的なステージ: Build・Test・Deploy)、5) jobs (Stage 内のジョブ・並列実行)、6) steps (Job 内のステップ: script・task)。例: `trigger: branches: include: - main` → `pool: vmImage: ubuntu-latest` → `stages: - stage: Build jobs: - job: BuildJob steps: - script: npm install`。各レベルで条件分岐・依存関係・Approval Gate を定義可能。シンプルなら 1 ファイル 30 行、エンタープライズなら Templates で 1000+ 行のパイプラインも管理可能。

Stages / Jobs / Steps の使い分けは?

Stage: 大きな論理ブロック (Build → Test → Deploy to Dev → Deploy to Prod)、Stage 間は順次実行 (依存設定可)、Stage ごとに Approval Gate 設定可能。Job: Stage 内の並列実行単位、Agent ごとに 1 Job、複数 OS でマルチプラットフォームビルドなど。Step: Job 内の順次実行単位、最小実行単位。例: Build Stage → ParallelJob (npm build + npm test を並列) → DeployStage → Job (Deploy to Azure)。Stage 間の Approval Gate: Environment 機能で本番デプロイに『Required Reviewers (承認者)』を設定、Gate (Branch・Time of day・Service Connection) で自動条件チェック。エンタープライズでは Production 環境への Deploy Stage に必ず Manual Approval を設定するのが定石です。

Pipeline Templates とは?

Pipeline Templates は YAML パイプラインの再利用可能なコンポーネント。3 種類: 1) Stage Templates (Stage 全体の再利用、e.g. 標準ビルドステージ)、2) Job Templates (Job レベルの再利用、e.g. 標準テストジョブ)、3) Step Templates (Step 列の再利用、e.g. NuGet install + Build)。Parameters で柔軟性確保 (例: 言語・OS・コンテナイメージを Parameter 化)。複数リポジトリでテンプレート共有も可能 (Resources で別 Repository を参照)。エンタープライズでは Pipeline Library として共通テンプレートを 1 つのリポジトリで管理、全社のすべての CI/CD パイプラインで再利用するパターンが定着。10-20 のテンプレートで 100+ プロジェクトをカバー可能で、メンテナンスコストが劇的に削減されます。

Variable Groups と Secret 管理は?

Variable Groups: 複数パイプライン間で共有する変数セット (例: 環境別 Connection String)、Azure DevOps の Library ペインで管理。Variable Group には Key Vault 連携機能あり、Azure Key Vault の Secret を直接マッピング (Secret 値が Azure DevOps を経由せず、Pipeline 実行時に Key Vault から動的取得)。これにより Azure DevOps への Secret コピーを完全に排除、Secret ローテーション時も Pipeline 修正不要。実装: 1) Azure DevOps の Service Connection で Key Vault アクセス権限付与 (Workload Identity Federation 推奨)、2) Variable Group の『Link secrets from an Azure key vault』を有効化、3) Pipeline で `variables: group: KeyVaultGroup` を参照。本番運用では必須パターンで、シークレット管理の堅牢性が大幅に向上します。

Environments と Approval Gate は?

Environments は、デプロイ先 (Dev・Stage・Prod) を Azure DevOps 上で論理的に管理する機能。各 Environment に Approval (Required Reviewers)・Gates (Branch Restriction・Time Window・Azure Monitor Alerts・Service Now)・Resources (Kubernetes / VM Resource) を設定可能。Production Environment への Deploy Stage で『2 人の Approver による承認必須』『業務時間外のみデプロイ可』『直前 1 時間に Azure Monitor アラートなし』のような複合 Gate を構成し、安全な本番リリースを実現。Environment は Deploy 履歴も保存し、誰がいつ何をデプロイしたかの監査トレースを提供。SOC2 / ISO 27001 のコンプライアンス対応に必須の機能です。

Service Connections と Workload Identity Federation は?

Service Connections は Azure DevOps から外部システム (Azure・GitHub・Docker・Kubernetes) へのアクセス認証を集中管理する機能。Azure 連携の認証方式の進化: 1) Service Principal + Secret (レガシー、Secret ローテーション必要)、2) Service Principal + Certificate (中程度)、3) Workload Identity Federation (現代主推奨、Secret 不要)。WIF は 2023 年に Azure Pipelines でサポート開始、Service Principal に Federated Credential を構成して OIDC トークンで Azure 認証。Secret や Certificate の管理が完全不要で、CI/CD パイプラインでのシークレット漏洩リスクをゼロ化。詳細は Managed Identity vs Service Principal 記事を参照、新規 Azure DevOps プロジェクトでは WIF 一択というのが業界標準です。

関連認定試験は?

AZ-400 (DevOps Engineer Expert) のドメイン 3 (Build and Release Pipelines 40-45%) で Azure Pipelines YAML が深く問われる、本領域の本命認定。AZ-104 (Administrator) で Azure リソースのデプロイ基礎、AZ-204 (Developer Associate、2026-07 リタイア注意) で開発者視点での CI/CD、AZ-305 (Solutions Architect Expert) でアーキテクト視点での DevOps 戦略、SC-100 (Cybersecurity Architect Expert) で DevSecOps。Azure DevOps Services を採用する企業の DevOps エンジニア・SRE にとって Azure Pipelines YAML の理解は必須スキルで、Azure DevOps エンジニア キャリアロードマップ の中核技術です。

関連記事・技術深掘り

Azure Pipelines Multi-stage YAML パターン集|Template・Approval Gate・Conditional・Matrix・Deployment Strategy【2026 年版】

Azure Pipelines Multi-stage YAML の実装パターン完全集。Stage / Job / Step / Task 階層・Pipeline Templates 再利用・Approval Gate & Manual Validation・Conditional Execution・Variable Groups・Matrix Strategy・Deployment Strategy (RunOnce/Rolling/Canary/Blue-Green)・関連認定試験 (AZ-400 / AZ-204) を日本語で網羅。

Azure Managed Identity vs Service Principal 完全比較|認証パターンの選定と実装ベストプラクティス【2026 年版】

Azure の認証エンティティ Managed Identity と Service Principal を完全比較。System-assigned / User-assigned の使い分け、Client Secret vs Certificate vs Workload Identity Federation の選定、AKS Workload Identity、Azure サービス対応状況、関連認定試験 (SC-300 / AZ-204 / AZ-400) を日本語で網羅。実装パターン集付き。

Azure Key Vault 完全ガイド|Secret/Key/Certificate 管理・Managed Identity 統合・セキュリティベストプラクティス【2026 年版】

Azure Key Vault の完全ガイド。Standard vs Premium vs Managed HSM ティア選定、Secret / Key / Certificate の使い分け、RBAC ベースアクセス制御、Managed Identity 統合 (シークレットレスアプリ)、Soft Delete / Purge Protection、Private Endpoint、Microsoft Defender for Key Vault、関連認定試験 (AZ-204 / SC-300 / SC-100) を日本語で網羅。

Azure Kubernetes Service (AKS) 入門ガイド|アーキテクチャ・Networking・Ingress・セキュリティ完全解説【2026 年版】

Azure Kubernetes Service (AKS) の入門ガイド。Control Plane と Node Pool の構造、Azure CNI Overlay vs Kubenet の選定、Application Gateway / NGINX Ingress 選定、Workload Identity (新方式)、Private Cluster・Microsoft Defender for Containers・Azure Policy のセキュリティ、関連認定試験 (AZ-104 / AZ-204 / AZ-400 / CKA) を日本語で網羅。

本記事の技術情報は Azure Pipelines Documentation に基づいています。 本記事は Microsoft Corporation の公式商品ではなく、いかなる提携・後援関係もありません。 Microsoft、Azure、Azure DevOps、GitHub は Microsoft group of companies の商標です。 情報は 2026 年 5 月 24 日時点の公式公開資料に基づきます。最新情報は必ず公式ページをご確認ください。

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

Azure 試験対策ページを見る
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Azure

AZ-900 完全ガイド|Microsoft Azure Fundamentals 出題範囲・学習リソース・合格戦略

Microsoft Azure Fundamentals (AZ-900) の 2026 年 1 月 14 日改訂版に対...

Azure

Azure 認定資格ロードマップ 2026 完全版|全 26 試験の体系と大型再編 (AI-901/AI-103/SC-500)

Microsoft Azure 認定資格 全 26 試験 (現行 23 + 退役 3) の 2026 年版ロードマップ。...

Azure

AI-901 完全ガイド|Azure AI Fundamentals 新試験

Microsoft Certified: Azure AI Fundamentals (AI-901) の出題範囲・Mi...

Azure

Microsoft Entra ID 入門|旧 Azure AD から学ぶ ID 管理 (AZ-900/SC-900/AZ-104 必須知識)

Microsoft Entra ID (旧 Azure Active Directory) の入門解説。2023 年 7...

Azure

DP-900 完全ガイド|Azure Data Fundamentals 出題範囲・学習リソース・合格戦略

Microsoft Azure Data Fundamentals (DP-900) の完全ガイド。4 ドメインの出題範...

Azureの記事一覧 (103件)
© 2026 NicheeLab All rights reserved.