Om detta projekt alltid ska byggas på en specifik agent eller på den
inbyggda \ noden behöver du bara ange agentens namn respektive
built-in
.
Du bör dock generellt undvika att använda
namnet
på en agent här och hellre använda agentens
etiketter
. Enligt dokumentationen på konfigurationssidan för varje agent och sidan
Konfigurera system
för huvudnoden kan etiketter användas för att representera vilket
operativsystem agenten körs på, dess processorarkitektur eller någon annan
egenskap.
Med hjälp av etiketter försvinner behovet att omkonfigurera etikettuttrycket
som anges här varje gång du lägger till, tar bort eller byter namn på
agenter.
Ett etikettuttryck kan vara så enkelt som att ange en
etikett
eller ett
agentnamn
, t.ex.
android-builder
eller
linux-machine-42
.
Du kan också använda olika
operatörer
för att skapa mer komplexa uttryck.
(uttryck)
!uttryck
uttryck
får
inte
vara sant
a && b
a
och
b
måste vara sanna
a || b
a
eller
b
får vara sant
a -> b
!a || b
.
windows -> x64
ses som "om en Windows-agent används
måste
agenten vara 64-bitar" samtidigt som projektet tillåts köras på alla
agenter som
inte
har etiketten
windows
oavsett om de också har etiketten
x64
a <-> b
a && b || !a && !b
windows <-> dc2
ses som "om en Windows-agent används, så
måste
agenten finnas i datacenter 2, men om en agent utan Windows används
får den inte
finnas i datacenter 2"
a -> b -> c
motsvarar
(a -> b) -> c
.
"osx (10.11)" || "Windows Server"
.
built-in
linux-machine-42
linux-machine-42
(eller på vilken dator som helst som råkar ha etiketten
linux-machine-42
)
windows && jdk9
jdk9
)
postgres && !vm && (linux || freebsd)
vm
för att detta exempel ska fungera som förväntat)