Microsoft AZ-400: Azure Pipelines による CI/CD パイプライン — 学習ガイド

こちらの一部です: Microsoft DevOps Engineer Expert AZ-400 — 学習ガイド. 検証済みの解答で練習: Microsoft試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.

概要

Azure Pipelinesは、コードとしてのエンドツーエンドCI/CDを提供し、ビルド、テスト、リリースを統合しつつ、エンタープライズレベルの統制を維持するマルチステージYAMLパイプラインを備えています。スケーラブルでセキュア、かつ再現性のあるデリバリーシステムを構築するには、YAMLのオーサリング、トリガー、エージェント、変数、テンプレート、デプロイメントジョブ、成果物、キャッシュ、サービス接続を習得することが不可欠です。

YAMLとテンプレートによるオーサリング

YAMLパイプラインは、ステージ、ジョブ、ステップで構成されます。ステージはビルド、テスト、リリースなどのライフサイクルの境界をモデル化し、ジョブはエージェント上で実行され並列実行も可能で、ステップはジョブ内で実行されるタスクやスクリプトです。依存関係は dependsOn を介して明示的に定義され、きめ細かいオーケストレーションと条件付き実行を可能にします。マルチステージYAMLはCIとCDを統合し、ファンイン/ファンアウトパターンをサポートし、承認を独立したリリース構成ではなく環境に紐付けます。

テンプレートは、さまざまな粒度での構成と再利用を可能にします。

テンプレートの評価は、ランタイム実行前のコンパイル時に行われます。コンパイル時にパイプライン構造を分岐させる(例えば、main ブランチの場合のみ特定のジョブを含める)には、テンプレート式に ${{ }} を使用します。マクロ構文 $(var) とランタイム式 $[ ] はランタイムに解決されるため、シークレットや変数グループがいつ利用可能になるかに影響します。共有テンプレートは中央リポジトリに保存し、resources repositories を介してインポートします。決定論的なビルドのために、ブランチやタグにピン留めします。

トリガー、エージェント、変数、式

トリガーは自動化のエントリーポイントを管理します。

エージェントとエージェントプールは、ジョブがどこで実行されるかを決定します。

変数とパラメーターは設定の柔軟性を高めます。

デプロイ、環境、戦略、ゲート

デプロイジョブは、第一級のCDセマンティクスを提供します。デプロイジョブは、環境をターゲットとし、ロールアウトとライフサイクルフックを制御する戦略の下で実行されます。

デプロイロジックは、環境ステージごとにデプロイジョブとしてエンコードします。堅牢なゲートのためには、アドホックなスクリプトポーリングではなく、環境のチェックを活用してください。シークレットが必要な場合は、変数に埋め込むのではなく、サービス接続を介してAzure Key Vaultから取得してください。

アーティファクト、キャッシュ、サービス接続

アーティファクトとキャッシュは、再利用性とパフォーマンスを向上させます。

サービス接続は、Azure Pipelinesが外部システムにアクセスするために使用するIDを定義します。

クラシック vs YAML と移行

クラシックパイプラインは、Build と Release の概念が分離されたビジュアルデザイナーを使用します。タスクベースのオーサリング、変数管理、リリース環境、ゲートを提供します。YAML パイプラインは、pipeline-as-code、マルチステージの統合、テンプレート、そしてリポジトリとの連携による堅牢なバージョン管理を提供します。機能的な同等性(パリティ)はほぼ達成されています。環境の承認とチェックがリリースゲートを置き換え、デプロイメントジョブが環境をモデル化し、パイプライン成果物がビルド成果物に取って代わり、テンプレートと extends が大規模な中央集権的ガバナンスを実装します。残っている違いは、主に UI ベースの手動介入や、一部のニッチなリリースデザイナー機能に関するものですが、これらは YAML では手動検証 (Manual Validation) タスクや環境チェックによってカバーされます。

現実的な移行パスは次のとおりです。

  1. クラシックのビルド定義とリリース定義、タスク、変数、環境、承認、ゲートのインベントリを作成します。
  2. アシスタントを使用するか YAML にエクスポートしてビルドを YAML に変換し、再利用性と保守性のためにテンプレートにリファクタリングします。
  3. 各リリース環境を、環境をターゲットとするデプロイメントジョブを持つ YAML ステージとしてモデル化します。リリースゲートを環境の承認とチェック(例:Azure Monitor クエリチェック、作業項目クエリチェック)に変換します。
  4. 共有変数を変数グループに外部化し、シークレットのために Key Vault をリンクします。サービスプリンシパルのシークレットを OIDC ベースのサービス接続に置き換えます。
  5. リリース成果物トリガーをパイプラインリソーストリガーに置き換えます。CI でパイプライン成果物を発行し、CD ステージでそれらを使用します。
  6. 両方のパイプラインを一時的に実行して同等性を検証し、その後、適切なロールバック計画とともに切り替えを行い、クラシック定義を廃止します。

実践的な問題シナリオ

Starbucks は、マイクロサービスプラットフォームのデリバリーを標準化しており、パフォーマンスゲートを強制し、認証情報のリスクを低減し、ビルドを高速化しながら、クラシックリリースから YAML に移行する必要があります。

  1. extends テンプレートを使用したマルチステージ YAML の作成
  1. CI、PR、スケジュール、パイプラインのトリガーを実装
  1. エージェントプールを使用した混合エージェント戦略の採用
  1. 変数グループとランタイムパラメータによる変数管理
  1. 環境、承認、チェックを含むデプロイメントジョブの定義
  1. カナリー戦略、次にブルーグリーン戦略の適用
  1. パイプライン成果物とキャッシュによる最適化
  1. OIDC とスコープ付き権限によるサービス接続の保護

このエンドツーエンドの設計は、YAML-as-code によるガバナンスをエンタープライズグレードの承認やチェックと連携させ、キャッシュと成果物を通じてデリバリーを加速し、OIDC とスコープ付きサービス接続を介してセキュリティを強化します。


ソースコントロールとリポジトリ管理 · すべてのドメイン · コードとしてのインフラストラクチャと構成管理

これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

試験に合格する →

Microsoftを閲覧 →

Related guides

オールインワンアクセス

1つのサブスクリプション。すべての試験。

すべてのプランで、無制限の回答検索、模擬試験、AI解説、および完全なリソースライブラリが利用可能 — 20以上の言語に対応。

月額
24.87
Just €0.83/day
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

ベストバリュー
12ヶ月
179.87
Just €0.49/daySave 40%
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

✓ 無料プランが含まれています · ✓ いつでもキャンセル可能 · ✓ すべてのプランで製品の全機能が利用可能