需求(对于私人池)。
引用此定义的定义: 池
实现
执行 | DESCRIPTION |
---|---|
demands: string | 指定专用池的需求。 |
demands:string list | 指定专用池的需求列表。 |
注解
使用需求来确保管道所需的 功能 存在于运行管道的代理上。 需求由任务或手动断言。
注释
需求和功能设计用于自托管代理,以便作业可与满足作业要求的代理匹配。 使用Microsoft托管代理时,请选择与作业要求匹配的代理的映像,因此,尽管可以将功能添加到Microsoft托管代理,但无需将功能用于Microsoft托管代理。
可以检查功能(Exists作)是否存在,也可以检查功能(等于作)中的特定字符串。 检查功能是否存在(存在)和检查功能(等于)中的特定字符串是唯一两个支持的需求作。
任务需求
除非代理满足一个或多个要求,否则某些任务不会运行。 例如,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: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