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 を網羅的に整理します。
Azure Pipelines YAML は階層構造で定義します。
| 要素 | 役割 | 使用例 |
|---|---|---|
| trigger | パイプライン起動条件 | branch / path / tag フィルタ |
| pool | 実行 Agent | Microsoft-hosted・Self-hosted |
| variables | 変数定義 | 変数・Variable Group・Variable Template |
| stages | 論理的なステージ | Build・Test・Deploy |
| jobs | 並列実行単位 | Stage 内の並列ジョブ |
| steps | 順次実行単位 | script・task の列 |
trigger:
branches:
include:
- main
pool:
vmImage: ubuntu-latest
steps:
- script: echo "Hello, Azure Pipelines!"
displayName: 'Print greeting'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 は YAML パイプラインの再利用可能なコンポーネント。3 種類:
# 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 }}steps:
- template: templates/build-node.yml
parameters:
nodeVersion: '20.x'
workingDirectory: 'frontend'variables: { appName: 'myapp' }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 は、デプロイ先 (Dev・Stage・Prod) を Azure DevOps 上で論理的に管理する機能。各 Environment に以下を設定可能。
Production Environment への Deploy Stage で『2 人の Approver による承認必須』『業務時間外のみデプロイ可』『直前 1 時間に Azure Monitor アラートなし』のような複合 Gateを構成し、安全な本番リリースを実現。 Environment は Deploy 履歴も保存し、誰がいつ何をデプロイしたかの監査トレースを提供。SOC2 / ISO 27001 のコンプライアンス対応に必須の機能です。
Service Connections は Azure DevOps から外部システム (Azure・GitHub・Docker・Kubernetes) へのアクセス認証を集中管理する機能。
WIF は 2023 年に Azure Pipelines でサポート開始、Service Principal に Federated Credential を構成して OIDC トークンで Azure 認証。 Secret や Certificate の管理が完全不要で、CI/CD パイプラインでのシークレット漏洩リスクをゼロ化。詳細は Managed Identity vs Service Principal 記事を参照、新規 Azure DevOps プロジェクトでは WIF 一択というのが業界標準です。
| 戦略 | 動作 | 適用シーン |
|---|---|---|
| RunOnce | 1 回のデプロイで完了 | シンプル本番デプロイ |
| Rolling | 順次インスタンスを更新 | VM Scale Set・段階的リリース |
| Canary | 少数インスタンスで先行公開 | 新機能の限定テスト |
| Blue-Green | 2 環境を切り替えてデプロイ | App Service Deployment Slot |
| 項目 | Azure Pipelines | GitHub Actions |
|---|---|---|
| 所属 | Azure DevOps Services | GitHub |
| YAML 構文 | azure-pipelines.yml | .github/workflows/*.yml |
| Microsoft-hosted Agent | 無料 1,800 分/月 (Public Repo) | 無料 2,000 分/月 (Free Tier) |
| Approval Gate | Environment 機能 | Environment + Reviewers |
| Marketplace | Azure DevOps Marketplace | GitHub 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 日時点の公式公開資料に基づきます。最新情報は必ず公式ページをご確認ください。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
AZ-900 完全ガイド|Microsoft Azure Fundamentals 出題範囲・学習リソース・合格戦略
Microsoft Azure Fundamentals (AZ-900) の 2026 年 1 月 14 日改訂版に対...
Azure 認定資格ロードマップ 2026 完全版|全 26 試験の体系と大型再編 (AI-901/AI-103/SC-500)
Microsoft Azure 認定資格 全 26 試験 (現行 23 + 退役 3) の 2026 年版ロードマップ。...
AI-901 完全ガイド|Azure AI Fundamentals 新試験
Microsoft Certified: Azure AI Fundamentals (AI-901) の出題範囲・Mi...
Microsoft Entra ID 入門|旧 Azure AD から学ぶ ID 管理 (AZ-900/SC-900/AZ-104 必須知識)
Microsoft Entra ID (旧 Azure Active Directory) の入門解説。2023 年 7...
DP-900 完全ガイド|Azure Data Fundamentals 出題範囲・学習リソース・合格戦略
Microsoft Azure Data Fundamentals (DP-900) の完全ガイド。4 ドメインの出題範...