pool.demands 定义

需求(对于私人池)。

引用此定义的定义:

实现

执行 DESCRIPTION
demands: string 指定专用池的需求。
demands:string list 指定专用池的需求列表。

注解

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

注释

需求和功能设计用于自托管代理,以便作业可与满足作业要求的代理匹配。 使用Microsoft托管代理时,请选择与作业要求匹配的代理的映像,因此,尽管可以将功能添加到Microsoft托管代理,但无需将功能用于Microsoft托管代理。

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

任务需求

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

手动输入的代理要求

可能需要使用具有特殊功能的自承载代理。 例如,管道可能需要在池中的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:string list

指定专用池的需求列表。

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

列表类型

类型 DESCRIPTION
字符串 指定专用池的需求列表。

例子

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

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

另请参阅