pool.demands 定义

要求 (专用池) 。

引用此定义的定义:

实现形式

实现 描述
demands:string 指定对专用池的需求。
demands:字符串列表 指定专用池的需求列表。

注解

使用需求来确保管道所需的 功能 存在于运行它的代理上。 需求由任务自动断言或由你手动断言。

注意

需求和功能设计用于自托管代理,以便作业可与满足作业要求的代理匹配。 使用 Microsoft 托管代理时,为代理选择符合作业要求的映像,这样的话,虽然可以向 Microsoft 托管代理添加功能,但无需将功能与 Microsoft 托管代理一起使用。

可以检查是否存在功能 (Exists 操作) ,也可以在功能 (equals 操作) 中为特定字符串检查。 检查是否存在功能 (是否存在) 和检查功能中的特定字符串 (等于) 是满足需求的唯一两个支持操作。

任务要求

除非代理满足一个或多个要求,否则某些任务不会运行。 例如, Visual Studio 生成 任务要求 msbuild 在代理上安装 和 visualstudio

手动输入的代理要求

可能需要使用具有特殊功能的自托管代理。 例如,管道可能需要在池中的Default代理上使用 SpecialSoftware。 或者,如果同一池中有多个具有不同操作系统的代理,则可能有一个需要 Linux 代理的管道。

Exists 操作

存在操作检查是否存在具有特定名称的功能。 该比较不区分大小写。

pool:
  name: MyPool
  demands: myCustomCapability # exists check for myCustomCapability

等于运算

等于运算检查功能是否存在,如果存在,则使用指定值检查其值。 如果功能不存在或值不匹配,则操作的计算结果为 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 生成管道添加单个需求,请将 行 demands: 添加到 pool 部分。

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

demands:字符串列表

指定专用池的需求列表。

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

列表类型

类型 说明
string 指定专用池的需求列表。

示例

若要指定多个需求,请每行添加一个。

pool:
  name: MyPool
  demands:
  - myCustomCapability   # exists check for myCustomCapability
  - Agent.Version -equals 2.144.0 # equals check for Agent.Version 2.144.0

另请参阅