Se questo progetto dovrebbe essere sempre compilato su un agente specifico,
o sul nodo master Jenkins, allora si dovrebbe immettere semplicemente,
rispettivamente, il nome dell'agente o
master
.
Ciò nonostante, si dovrebbe generalmente evitare di usare il
nome
di un agente in questo campo, preferendo le
etichette
di un agente. Come documentato sulla pagina di configurazione di ogni agente
e sulla pagina
Configura sistema
del nodo master, è possibile utilizzare etichette per rappresentare il
sistema operativo su cui è in esecuzione l'agente, la sua architettura CPU o
un qualunque numero di altre caratteristiche.
L'utilizzo delle etichette fa venir meno la necessità di riconfigurare
l'espressione etichetta immessa in questo campo ogni volta che si
aggiungono, rimuovono o ridenominano agenti.
Un'espressione etichetta può essere semplicemente una singola
etichetta
o
nome agente
, ad esempio
android-builder
o
linux-machine-42
.
È possibile inoltre utilizzare svariati
operatori
per creare espressioni più complesse.
(espressione)
!espressione
espressione
non
dev'essere vero
a && b
a
e
b
devono essere vere
a || b
a
o
b
può essere vera
a -> b
!a || b
.
windows -> x64
può essere interpretato come "se viene utilizzato un agente Windows,
allora tale agente
deve
essere a 64 bit", consentendo comunque l'esecuzione su qualunque agente
che
non
abbia l'etichetta
windows
, a prescindere dal fatto che abbia l'etichetta
x64
a <-> b
a && b || !a && !b
windows <-> dc2
può essere interpretato come "se viene utilizzato un agente Windows,
allora tale agente
deve
essere nel datacenter 2, ma se viene utilizzato un agente non Windows,
allora
non deve
essere nel datacenter 2"
a -> b -> c
è equivalente ad
(a -> b) -> c
.
"osx (10.11)" || "Windows Server"
.
built-in
linux-machine-42
linux-machine-42
(o su qualunque sistema che abbia un'etichetta denominata
linux-machine-42
)
windows && jdk9
jdk9
)
postgres && !vm && (linux || freebsd)
vm
affinché quest'esempio funzioni come atteso)