共用方式為


pool.demands 定義

要求(私人游泳池)。

參考此定義的定義: 集區

實施

實施 說明
demands:string 指定私人集區的需求。
demands:string list 指定私人集區的需求清單。

備註

使用需求,確定管線所需的 功能 存在於執行它的代理程式上。 要求會由工作自動判斷,或由您手動判斷。

備註

需求和功能專為搭配自行架設的代理程式使用而設計,以便讓作業能夠匹配符合需求的代理程式。 使用Microsoft裝載的代理程式時,您可以選取符合作業需求的代理程式映像,因此雖然可以將功能新增至Microsoft裝載的代理程式,但您不需要搭配Microsoft裝載的代理程式使用功能。

您可以檢查功能是否存在 (Exists 作業),或者可以檢查功能中是否有特定字串 (Equals 作業)。 檢查功能是否存在(exists)和檢查功能中的特定字串(等於)是唯一兩個支援的需求作業。

工作需求

除非代理程式符合一或多個需求,否則某些工作不會執行。 例如,Visual Studio 建置工作會要求並msbuildvisualstudio安裝在代理程式上。

手動輸入的代理程式需求

您可能需要使用具有特殊功能的自我裝載代理程式。 例如,您的管線可能需要集區中Default代理程式的SpecialSoftware。 或者,如果您在相同集區中有多個具有不同作系統的代理程式,則可能有需要 Linux 代理程式的管線。

存在作業

存在作業會檢查是否有具有特定名稱的功能。 比較不區分大小寫。

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.

清單類型

類型 說明
字符串 指定私人集區的需求清單。

範例

若要指定多個需求,請為每個行新增一個。

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

另請參閱