pool.demands 定義
要求 (プライベート プールの場合)。
この定義を参照する定義: pool
実装
実装 | 説明 |
---|---|
demands: string | プライベート プールの需要を指定します。 |
demands: 文字列リスト | プライベート プールの要求の一覧を指定します。 |
注釈
要求を使用して、パイプラインを実行するエージェントにパイプラインに必要な 機能 が存在することを確認します。 要求は、タスクによって自動的にアサートされるか、手動でアサートします。
注意
要求と機能はセルフホステッド エージェントで使うように設計されているので、ジョブをジョブの要件を満たすエージェントと対応付けることができます。 Microsoft ホステッド エージェントを使う場合、ジョブの要件に一致するエージェントのイメージはお客様が選ぶので、Microsoft ホステッド エージェントに機能を追加することもできますが、Microsoft ホステッド エージェントで機能を使う必要はありません。
機能の存在をチェックすることも (Exists 操作)、機能内の特定の文字列 (Equals 操作) に対してチェックすることもできます。 機能の存在 (exists) の確認と、機能内の特定の文字列 (equals) の確認は、要求でサポートされているたった 2 つの操作です。
タスクの要求
エージェントによって 1 つ以上の要求が満たされない限り、一部のタスクは実行されません。 たとえば、Visual Studio Build タスクでは、msbuild
と visualstudio
がエージェントにインストールされている必要があります。
手動で入力されたエージェントの要求
特殊な機能を備えたセルフホステッド エージェントを使用する必要がある場合があります。 たとえば、パイプラインで Default
プール内のエージェントに SpecialSoftware が必要になる場合があります。 または、同じプール内に異なるオペレーティング システムを持つ複数のエージェントがある場合は、Linux エージェントを必要とするパイプラインがある可能性があります。
Exists 操作
存在する操作では、特定の名前の機能が存在するかどうかを確認します。 大文字と小文字は区別されません。
pool:
name: MyPool
demands: myCustomCapability # exists check for myCustomCapability
Equals 演算
equals 操作は機能の存在をチェックし、存在する場合は、指定された値でその値をチェックします。 機能が存在しない場合、または値が一致しない場合、操作は false と評価されます。 比較では大文字と小文字は区別されません。
pool:
name: MyPool
demands: Agent.Version -equals 2.144.0 # equals check for Agent.Version 2.144.0
システム機能としてのエージェント変数
セルフホステッド エージェントには、エージェント変数と同様の名前を持つ次のシステム機能がありますが、これらは変数ではなく、要求に存在するか等しいかを確認するときに変数構文を必要としません。
- Agent.Name
- Agent.Version
- Agent.ComputerName
- Agent.HomeDirectory
- Agent.OS
- Agent.OSArchitecture
- Agent.OSVersion (Windows エージェントのみ)
demands: string
プライベート プールの需要を指定します。
demands: string # Specify a demand for a private pool.
demands
文字列。
プライベート プールの需要を指定します。
例
YAML ビルド パイプラインに 1 つの要求を追加するには、pool
セクションに demands:
行を追加します。
pool:
name: Default
demands: SpecialSoftware # exists check for SpecialSoftware
demands: 文字列リスト
プライベート プールの要求の一覧を指定します。
demands: [ string ] # Specify a list of demands for a private pool.
リストの種類
型 | 説明 |
---|---|
string | プライベート プールの要求の一覧を指定します。 |
例
複数の要求を指定するには、1 行に 1 つを追加します。
pool:
name: MyPool
demands:
- myCustomCapability # exists check for myCustomCapability
- Agent.Version -equals 2.144.0 # equals check for Agent.Version 2.144.0