次の方法で共有


pool.demands の定義

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

この定義を参照する定義: pool

実装

実装 説明
demands: string プライベート プールの需要を指定します。
demands: 文字列リスト プライベート プールの需要の一覧を指定します。

注釈

要求を使用して、パイプラインで必要な 機能 が、それを実行するエージェントに存在することを確認します。 要求は、タスクによって自動的にアサートされるか、手動でアサートされます。

要求と機能はセルフホステッド エージェントで使うように設計されているので、ジョブをジョブの要件を満たすエージェントと対応付けることができます。 Microsoft でホストされるエージェントを使用する場合は、ジョブの要件に一致するエージェントのイメージを選択します。そのため、Microsoft ホスト型エージェントに機能を追加することはできますが、Microsoft がホストするエージェントで機能を使用する必要はありません。

機能 (Exists 操作) の有無を確認することも、機能内の特定の文字列を確認することもできます (等しい操作)。 機能の存在 (存在) の確認と、機能 (等しい) 内の特定の文字列のチェックは、要求に対してサポートされる唯一の 2 つの操作です。

タスクの要求

エージェントによって 1 つ以上の要求が満たされない限り、一部のタスクは実行されません。 たとえば、 Visual Studio ビルド タスクでは、エージェントに msbuildvisualstudio をインストールする必要があります。

手動で入力されたエージェントの要求

特殊な機能を備えたセルフホステッド エージェントを使用することが必要になる場合があります。 たとえば、パイプラインで、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 つの需要を追加するには、demands: 行を pool セクションに追加します。

pool:
  name: Default
  demands: SpecialSoftware # exists check for SpecialSoftware

demands: 文字列リスト

プライベート プールの需要の一覧を指定します。

demands: [ string ] # Specify a list of demands for a private pool.

リストの種類

タイプ 説明
ひも プライベート プールの需要の一覧を指定します。

例示

複数の需要を指定するには、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

こちらも参照ください