definisi pool.demands

Tuntutan (untuk kumpulan pribadi).

Definisi yang mereferensikan definisi ini: kumpulan

Implementasi

Pelaksanaan Deskripsi
tuntutan: string Tentukan permintaan untuk kumpulan privat.
permintaan: daftar string Tentukan daftar permintaan untuk kumpulan privat.

Komentar

Gunakan tuntutan untuk memastikan bahwa kemampuan yang dibutuhkan alur Anda ada pada agen yang menjalankannya. Tuntutan ditegaskan secara otomatis oleh tugas atau secara manual oleh Anda.

Nota

Tuntutan dan kemampuan dirancang untuk digunakan dengan agen yang dihosting sendiri agar pekerjaan dapat dicocokkan dengan agen yang memenuhi persyaratan pekerjaan. Saat menggunakan agen yang dihosting Microsoft, Anda memilih gambar untuk agen yang cocok dengan persyaratan pekerjaan, jadi meskipun dimungkinkan untuk menambahkan kemampuan ke agen yang dihosting Microsoft, Anda tidak perlu menggunakan kemampuan dengan agen yang dihosting Microsoft.

Anda dapat memeriksa keberadaan kemampuan (operasi Ada) atau Anda dapat memeriksa string tertentu dalam kemampuan (operasi Sama dengan). Memeriksa keberadaan kemampuan (ada) dan memeriksa string tertentu dalam kemampuan (sama) adalah satu-satunya dua operasi yang didukung untuk permintaan.

Tuntutan tugas

Beberapa tugas tidak akan berjalan kecuali satu atau beberapa tuntutan dipenuhi oleh agen. Misalnya, tugas Visual Studio Build menuntut dan msbuildvisualstudio diinstal pada agen.

Permintaan agen yang dimasukkan secara manual

Anda mungkin perlu menggunakan agen yang dihost sendiri dengan kemampuan khusus. Misalnya, alur Anda mungkin memerlukan SpecialSoftware pada agen di kumpulan Default . Atau, jika Anda memiliki beberapa agen dengan sistem operasi yang berbeda di kumpulan yang sama, Anda mungkin memiliki alur yang memerlukan agen Linux.

Operasi yang ada

Operasi yang ada memeriksa keberadaan kemampuan dengan nama tertentu. Perbandingan tidak peka huruf besar/kecil.

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

Sama dengan operasi

Operasi yang sama dengan memeriksa keberadaan kemampuan, dan jika ada, memeriksa nilainya dengan nilai yang ditentukan. Jika kemampuan tidak ada atau nilai tidak cocok, operasi mengevaluasi ke false. Perbandingan tidak peka huruf besar/kecil.

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

Variabel agen sebagai kemampuan sistem

Agen yang dihost sendiri memiliki kemampuan sistem berikut dengan nama yang mirip dengan variabel agen, tetapi mereka bukan variabel dan tidak memerlukan sintaks variabel saat memeriksa ada atau sama dengan permintaan.

  • Agent.Name
  • Agent.Version
  • Agent.ComputerName
  • Agent.HomeDirectory
  • Agent.OS
  • Agent.OSArchitecture
  • Agent.OSVersion (khusus agen Windows)

Pemindaian kemampuan agen

Saat perangkat lunak agen dimulai, perangkat lunak ini memindai perangkat lunak dan alat berikut dan mendaftarkan kemampuan yang sesuai.

Tip

Setelah Menginstal perangkat lunak baru pada agen yang dihost sendiri, Anda harus memulai ulang agen agar kemampuan baru muncul. Untuk informasi selengkapnya, lihat Memulai ulang agen Windows, Memulai ulang agen Linux, dan Memulai ulang agen Mac.

Pada agen Windows, agen menggunakan skrip PowerShell berikut untuk memindai alat dan perangkat lunak, dan mendaftarkan kemampuan yang sesuai. Skrip ini adalah bagian dari perangkat lunak sumber terbuka agen dan terletak di folder /src/Misc/layoutbin/powershell.

Tabel berikut dibuat oleh Copilot. Copilot didukung oleh AI, sehingga kejutan dan kesalahan dimungkinkan. Untuk informasi selengkapnya, lihat FAQ penggunaan umum Copilot.

Skrip pemindaian alat Capabilities
Add-AndroidSdkCapabilities.ps1 AndroidSDK
AndroidSDK_{version}
Add-AntCapabilities.ps1 ant
Add-ApplicationCapabilities.ps1 npm
gulp
node.js
bower
grunt
svn
cmake
docker
Add-AzureGuestAgentCapabilities.ps1 AzureGuestAgent
Add-AzurePowerShellCapabilities.ps1 AzurePS
Add-ChefCapabilities.ps1 Chef
KnifeReporting
Add-DotNetFrameworkCapabilities.ps1 DotNetFramework_{major.minor}
DotNetFramework_{major.minor}_x64
DotNetFramework
Add-JavaCapabilities.ps1 java_6
java_7
java_8
java_{major} (untuk versi 9 dan yang lebih baru)
java_6_x64
java_7_x64
java_8_x64
java_{major}_x64 (untuk versi 9 dan yang lebih baru)
java
jdk_6
jdk_7
jdk_8
jdk_{major} (untuk versi 9 dan yang lebih baru)
jdk_6_x64
jdk_7_x64
jdk_8_x64
jdk_{major}_x64 (untuk versi 9 dan yang lebih baru)
jdk

Distribusi JDK yang terdeteksi termasuk Oracle JavaSoft, AdoptOpenJDK, Eclipse Adoptium, Eclipse Foundation, dan IBM Semeru.
Add-MavenCapabilities.ps1 maven
Add-MSBuildCapabilities.ps1 MSBuild_2.0
MSBuild_3.5
MSBuild_4.0
MSBuild_12.0
MSBuild_14.0
MSBuild_15.0
MSBuild_16.0
MSBuild_17.0
MSBuild_18.0
MSBuild
MSBuild_2.0_x64
MSBuild_3.5_x64
MSBuild_4.0_x64
MSBuild_12.0_x64
MSBuild_14.0_x64
MSBuild_15.0_x64
MSBuild_16.0_x64
MSBuild_17.0_x64
MSBuild_18.0_x64
MSBuild_x64
Add-PowerShellCapabilities.ps1 PowerShell
Add-ScvmmAdminConsoleCapabilities.ps1 SCVMMAdminConsole
Add-SqlPackageCapabilities.ps1 SqlPackage
Add-VisualStudioCapabilities.ps1 VisualStudio_10.0
VisualStudio_IDE_10.0
VisualStudio_11.0
VisualStudio_IDE_11.0
VisualStudio_12.0
VisualStudio_IDE_12.0
VSTest_12.0
VisualStudio_14.0
VisualStudio_IDE_14.0
VSTest_14.0
VisualStudio_15.0
VisualStudio_IDE_15.0
VSTest_15.0
VisualStudio_16.0
VisualStudio_IDE_16.0
VSTest_16.0
VisualStudio_17.0
VisualStudio_IDE_17.0
VSTest_17.0
VisualStudio_18.0
VisualStudio_IDE_18.0
VSTest_18.0
VisualStudio
VisualStudio_IDE
VSTest
Add-WindowsKitCapabilities.ps1 WindowsKit_{major.minor}
WindowsKit
Add-WindowsSdkCapabilities.ps1 WindowsSdk_{major.minor}
WindowsSdk_{major.minor}_{toolName}
WindowsSdk_{major.minor}_{toolName}_x64
WindowsSdk
Add-XamarinAndroidCapabilities.ps1 Xamarin.Android

tuntutan: string

Tentukan permintaan untuk kumpulan privat.

demands: string # Specify a demand for a private pool.

demands tali.

Tentukan permintaan untuk kumpulan privat.

Contoh

Untuk menambahkan satu permintaan ke alur build YAML Anda, tambahkan baris demands: ke bagian pool.

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

permintaan: daftar string

Tentukan daftar permintaan untuk kumpulan privat.

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

Jenis daftar

Tipe Deskripsi
string Tentukan daftar permintaan untuk kumpulan privat.

Contoh

Untuk menentukan beberapa permintaan, tambahkan satu per baris.

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

Lihat juga