要求(私人游泳池)。
參考此定義的定義: 集區
實施
實施 | 說明 |
---|---|
demands:string | 指定私人集區的需求。 |
demands:string list | 指定私人集區的需求清單。 |
備註
使用需求,確定管線所需的 功能 存在於執行它的代理程式上。 要求會由工作自動判斷,或由您手動判斷。
備註
需求和功能專為搭配自行架設的代理程式使用而設計,以便讓作業能夠匹配符合需求的代理程式。 使用Microsoft裝載的代理程式時,您可以選取符合作業需求的代理程式映像,因此雖然可以將功能新增至Microsoft裝載的代理程式,但您不需要搭配Microsoft裝載的代理程式使用功能。
您可以檢查功能是否存在 (Exists 作業),或者可以檢查功能中是否有特定字串 (Equals 作業)。 檢查功能是否存在(exists)和檢查功能中的特定字串(等於)是唯一兩個支援的需求作業。
工作需求
除非代理程式符合一或多個需求,否則某些工作不會執行。 例如,Visual Studio 建置工作會要求並msbuild
visualstudio
安裝在代理程式上。
手動輸入的代理程式需求
您可能需要使用具有特殊功能的自我裝載代理程式。 例如,您的管線可能需要集區中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