Azure Pipelines の YAML スキーマ リファレンス

Azure Pipelines の YAML スキーマ リファレンスは、サポートされているすべての YAML 構文とその使用可能なオプションを一覧表示する YAML パイプラインの詳細なリファレンスです。

YAML パイプラインを作成するには、まず パイプライン 定義から始めます。 YAML パイプラインの構築の詳細については、「パイプラインの カスタマイズ」を参照してください。

YAML スキーマ参照では、タスクは扱われません。 タスクの詳細については、「 Azure Pipelines タスクインデックス」を参照してください。

定義

パイプライン
パイプラインは、CI/CD プロセスを記述する 1 つ以上のステージです。 パイプライン定義には、 などの nameルート レベルのプロパティに関するドキュメントが含まれています。

パイプライン
パイプラインは、CI/CD プロセスを記述する 1 つ以上のジョブです。

拡張
テンプレートを使用してパイプラインを拡張します。

ジョブ
ステージの作業を構成するジョブを指定します。

ジョブ
パイプラインの作業を構成するジョブを指定します。

jobs.deployment
デプロイ ジョブは、特殊な種類のジョブです。 これは、環境に対して順番に実行するステップのコレクションです。

jobs.deployment.environment
ターゲット環境名と、必要に応じてデプロイ履歴を記録するリソース名。format: environment-name.resource-name。

jobs.deployment.strategy
このデプロイの実行戦略。

jobs.deployment.strategy.canary
カナリアデプロイ戦略。

jobs.deployment.strategy.rolling
ローリング デプロイ戦略。

jobs.deployment.strategy.runOnce
RunOnce 配置戦略。

jobs.job
ジョブは、エージェントまたはサーバーで実行されるステップのコレクションです。

jobs.job.container
コンテナー リソース名。

jobs.job.strategy
このジョブの実行戦略。

jobs.job.uses
まだ参照されていない、このジョブに必要なすべてのリソース。

jobs.template
テンプレートで定義されているジョブのセット。

パラメーター
パイプラインに渡されるランタイム パラメーターを指定します。

parameters.parameter
パイプライン テンプレート パラメーター。

プール
パイプラインのジョブに使用するプール。

pool.demands
要求 (プライベート プールの場合)。

Pr
Pull request トリガー。

リソース
リソースは、ビルド、リポジトリ、パイプライン、およびパイプラインで使用されるその他のリソースを指定します。

resources.builds
パイプラインによって参照されるビルド リソースの一覧。

resources.builds.build
実行から成果物を参照するために使用されるビルド リソース。

resources.containers
コンテナー イメージの一覧。

resources.containers.container
コンテナー イメージを参照するために使用されるコンテナー リソース。

resources.containers.container.trigger
無効にするには none を指定し、すべてのイメージ タグでトリガーする場合は true を指定するか、次の例で説明するように完全な構文を使用します。

resources.packages
パッケージ リソースの一覧。

resources.packages.package
NuGet または npm GitHub パッケージを参照するために使用されるパッケージ リソース。

resources.pipelines
パイプライン リソースの一覧。

resources.pipelines.pipeline
パイプライン リソース。

resources.pipelines.pipeline.trigger
次の例で説明するように、無効にする場合は none、すべてのブランチを含める場合は true を指定するか、完全な構文を使用します。

resources.pipelines.pipeline.trigger.branchs
実行をトリガーするために含めるか除外する分岐。

resources.repositories
リポジトリ リソースの一覧。

resources.repositories.repository
リポジトリ リソースは、パイプライン内の追加のリポジトリを参照するために使用されます。

resources.webhooks
Webhook の一覧。

resources.webhooks.webhook
Webhook リソースを使用すると、パイプラインを外部サービスと統合してワークフローを自動化できます。

resources.webhooks.webhook.filters
トリガー フィルターの一覧。

resources.webhooks.webhook.filters.filter
Webhook リソース トリガー フィルター。

スケジュール
スケジュールの一覧では、パイプラインのスケジュールされたトリガーを指定します。

schedules.cron
スケジュールされたトリガーは、ブランチが構築されるスケジュールを指定します。

段階
ステージは、関連するジョブのコレクションです。

stages.stage
ステージは、関連するジョブのコレクションです。

stages.template
1 つのファイルにステージのセットを定義し、他のファイルで複数回使用できます。

手順
ステップは、ジョブを構成する操作の線形シーケンスです。

steps.bash
Windows、macOS、Linux 上の Bash でスクリプトを実行します。

steps.checkout
パイプラインでソース コードをチェックアウトする方法を構成します。

steps.download
現在の実行に関連付けられている成果物、またはパイプライン リソースとして関連付けられている別の Azure Pipeline から成果物をダウンロードします。

steps.downloadBuild
ビルド成果物をダウンロードします。

steps.getPackage
Azure Artifacts または Azure DevOps Server のパッケージ管理フィードからパッケージをダウンロードします。

steps.powershell
Windows PowerShell (Windows) または pwsh (Linux および macOS) を使用してスクリプトを実行します。

steps.publish
他のジョブやパイプラインで使用できるパイプライン成果物として、ファイルまたはフォルダーを発行 (アップロード) します。

steps.pwsh
Windows、macOS、Linux 上の PowerShell Core でスクリプトを実行します。

steps.reviewApp
ダウンロードでは、デプロイ フェーズ プロバイダーの下にリソースが動的に作成されます。

steps.script
Windows では cmd.exe を使用し、他のプラットフォームでは Bash を使用してスクリプトを実行します。

steps.task
タスクを実行します。

steps.template
1 つのファイルに一連のステップを定義し、別のファイルで複数回使用します。

ターゲット
タスクは、エージェント ホストまたはコンテナーである実行コンテキストで実行されます。

target.settableVariables
設定できる変数に関する制限。

トリガー
継続的インテグレーション (プッシュ) トリガー。

変数
名前と値のペアを使用して変数を定義します。

variables.group
変数グループから変数を参照します。

variables.name
名前と完全な構文を使用して変数を定義します。

variables.template
テンプレートで変数を定義します。

定義のサポート

注意

サポート定義は、パイプラインで直接使用するためのものではありません。 サポート定義は、他の定義の一部としてのみ使用され、参照のためにここに含まれています。

deployHook
アプリケーションをデプロイする手順を実行するために使用されます。

includeExcludeFilters
含めるか除外する項目の一覧。

includeExcludeStringFilters
含めるか除外する項目。

mountReadOnly
読み取り専用でマウントするボリューム。既定値はすべて false です。

onFailureHook
ロールバック アクションまたはクリーンアップのステップを実行するために使用されます。

onSuccessHook
ロールバック アクションまたはクリーンアップのステップを実行するために使用されます。

onSuccessOrFailureHook
ロールバック アクションまたはクリーンアップのステップを実行するために使用されます。

postRouteTrafficHook
トラフィックのルーティング後に手順を実行するために使用されます。 通常、これらのタスクは、定義された間隔で、更新されたバージョンの正常性を監視します。

preDeployHook
アプリケーションのデプロイが開始される前にリソースを初期化する手順を実行するために使用されます。

routeTrafficHook
更新されたバージョンにトラフィックを提供するステップを実行するために使用されます。

ワークスペース
エージェントのワークスペース オプション。

YAML スキーマのドキュメント規則

YAML スキーマ リファレンスは、Azure Pipelines YAML パイプラインの詳細なリファレンス ガイドです。 サポートされているすべての YAML 機能と、使用できるオプションのカタログが含まれています。

YAML スキーマ リファレンスで使用される構文規則を次に示します。

  • : の左側は、パイプラインの定義で使われるリテラル キーワードです。
  • : の右側は、データ型です。 データ型には、 string などのプリミティブ型や、この参照の他の場所で定義されているリッチ構造体への参照を指定できます。
  • 表記 [データ型] は、前述の定義型の配列を示します。 たとえば、[ string ] は文字列の配列です。
  • 表記 {datatype:datatype} は、あるデータ型から別のデータ型へのマッピングです。 たとえば、{ string: string } は文字列から文字列へのマッピングです。
  • 記号 | は、キーワードに使用できる複数のデータ型があることを示します。 たとえば、job | template は、ジョブ定義またはテンプレート参照が許されることを意味します。

こちらもご覧ください

このリファレンスでは、Azure Pipelines YAML ファイルのスキーマについて説明します。 YAML の基本については、「Y 分で YAML を学習する」を参照してください。 Azure Pipelines では、YAML のすべての機能がサポートされているわけではありません。 サポートされていない機能としては、アンカー、複合キー、セットなどがあります。 また、標準の YAML とは異なり、Azure Pipelines では、stagejobtask、または script のようなタスク ショートカットが、マッピングの最初のキーとして示されている必要があります。