Instiq
第3章 · ビルドとリリースのパイプライン·v2.0.0·更新 2026/6/3·読了目安 約11分

変更要約: AZ-400 第3章を深掘り(比較表・シナリオ・FAQ・ひっかけ・深掘り段落を各節に追加、図を日本語版に対応)

3.1CI パイプラインとビルド

この節の要点

継続的インテグレーション——Azure Pipelines(YAML)トリガーエージェント(Microsoft ホスト/セルフホスト)テンプレート/ステージ自動テスト——を理解します。コミットごとに自動でビルド・検証します。

AZ-400 の中核はパイプラインです。Azure Pipelines を YAML でコード化し、コミットごとに自動ビルド・テストします。

3.1.1CI パイプラインの構成

Azure Pipelines の CI 構成を示した図。リポジトリへの push/PR がトリガーとなり、YAML で定義したパイプライン(ステージ→ジョブ→ステップの階層)が起動、エージェント(Microsoft ホスト=管理不要/セルフホスト=独自環境・特殊依存)上でビルドとテストを実行、共通処理はテンプレートで再利用、成果物(アーティファクト)を発行して後続のリリースへ渡す流れを示した図。
CI パイプラインの構成
  • YAML パイプライン:パイプラインをコードとして管理(ステージ→ジョブ→ステップ)。
  • トリガーpush/PR/スケジュールで自動起動。CI は push トリガーが基本。
  • エージェントMicrosoft ホスト(管理不要)セルフホスト(独自環境/特殊依存) を選ぶ。
  • テンプレート:共通のステップ/ジョブを再利用し、重複を避ける。
試験ポイント

「パイプラインのコード化=YAML」「自動起動=トリガー(push/PR/スケジュール)」「管理不要=Microsoft ホストエージェント、独自環境/特殊依存=セルフホスト」「再利用=テンプレート」 は AZ-400 で頻出です。CI は早く小さくビルド・テストし、失敗時はパイプラインを止めます。

補足

特定の OS/ツール、社内ネットワーク、GPU など特殊要件があるときはセルフホストエージェントを選びます。通常は Microsoft ホストで十分です。

AZ-400 の CI 設計は「パイプラインをコードで構造化し、速く確実にビルド・テストする」ことを問います。YAML パイプラインstagesjobssteps(tasks/scripts)の階層で、trigger(CI=ブランチ push)と pr(PR トリガー)、schedules(cron)で起動し、pool でエージェントプールを指定します。再利用はテンプレート(step/job/stage/variable テンプレート、パラメーター付き)で行い、組織横断の標準化に効きます。エージェントは Microsoft ホスト(毎回クリーン・管理不要・並列実行数の購入)とセルフホスト(独自 OS/ツール、社内ネットワーク到達、GPU、キャッシュ常駐で高速)を要件で選びます。高速化は、依存関係キャッシュ(Cache タスク)ジョブの並列/マトリックス実行成果物の発行(PublishPipelineArtifact)と段階間受け渡し変更パスフィルターで行います。品質面では、テストを CI に組み込み失敗で停止、テスト結果(PublishTestResults)とカバレッジを発行してダッシュボード化、SAST/依存スキャンを左側(PR/CI)に寄せます(シフトレフト)。環境はサービス接続や変数グループで構成し、シークレットはログに出さない設定にします。設計の要は、YAML でコード化し、テンプレートで再利用、エージェントを要件に合わせ、キャッシュ/並列で速く、テスト失敗で確実に止めることです。

観点選択/機能要点
パイプライン定義YAML(コードとして)stages→jobs→steps・レビュー/版管理可
起動条件trigger / pr / schedulesCI は push、検証は PR トリガー
実行環境MS ホスト / セルフホスト管理不要 / 特殊要件・キャッシュ常駐
再利用と高速化テンプレート・キャッシュ・並列重複排除+ビルド短縮
補足

シナリオ:複数の言語/サービスのリポジトリで CI が遅く、各チームがコピペした似た YAML を保守している。→ 共通のビルド/テスト手順をステップ/ジョブテンプレートに切り出してパラメーター化し、各パイプラインから参照(重複排除)。依存関係キャッシュマトリックス並列実行でビルド時間を短縮。テストは CI に組み込み、PublishTestResults で結果をダッシュボード化。これでリードタイム短縮と一貫性を同時に得ます。

補足

FAQ:Microsoft ホストとセルフホスト、どちらのエージェント? 標準的な OS/ツールで、メンテナンスを避けたいなら Microsoft ホスト(毎回クリーンで再現性が高い)。特殊な OS/ツール、社内ネットワーク内リソースへの到達、GPU、大きな依存のキャッシュ常駐で高速化が要るなら セルフホスト。コストと並列実行数、メンテナンス負担を踏まえて選びます。

注意

ひっかけ:パイプラインをクラシック GUI(コード化なし)で組むのは、レビュー/バージョン管理/再利用の観点で弱く、AZ-400 は YAML(コードとして)を推奨します。また「ビルドを速くしたい」を闇雲なエージェント増強で解こうとせず、まずキャッシュ・並列/マトリックス・不要ステップ削減を検討します。テストを CI から外して速くするのは本末転倒(変更失敗率が上がる)です。

3.1.2この節のまとめ

  • CI=YAML パイプライン+トリガー+エージェント
  • 再利用=テンプレート/成果物=アーティファクト発行

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. パイプラインの定義をコードとしてリポジトリで管理し、レビュー・バージョン管理したい。何を使いますか?

Q2. 特定の社内ツールや GPU が必要なビルドを実行したい。どのエージェントを使いますか?

Q3. 複数のパイプラインで共通するビルド手順を一元管理し、重複を避けたい。何を使いますか?

理解度を確認第3章「ビルドとリリースのパイプライン」の問題を解く