Geben Sie hier einen Groovy-Ausdruck an, so werden nur diejenigen Kombinationen gebaut, für die der Ausdruck true ergibt. Die momentanen Werte der Achsen stehen dem Ausdruck dabei als initialisierte Variablen zur Verfügung.
Beispiel: Sie bauen auf unterschiedlichen Betriebssystemen mit unterschiedlichen Compilern. Ihre Slave-Knoten sind mit den Labels label=[linux,solaris] gekennzeichnet und Sie haben eine Achse compiler=[gcc,cc] angelegt. Jeder der folgenden Ausdrücke wird Builds mit cc auf linux herausfiltern. Je nach persönlicher Herangehensweise werden Sie die Ausdrücke unterschiedlich intuitiv finden.
Ansatz: "Wenn linux und cc gleichzeitig zutrifft, ist die Kombination ungültig." |
!(label=="linux" && compiler=="cc") |
Ansatz: "Eine gültige Kombination verwendet entweder solaris oder gcc." |
label=="solaris" || compiler=="gcc" |
Ansatz: "Wenn auf solaris, dann nur cc erlauben." |
(label=="solaris").implies(compiler=="cc") |
Zusätzlich zu den werte-basierten Filterregeln, können Sie die Variable "index" verwenden, um die Matrix auszudünnen.
Beispiel: index%2==0 halbiert die Größe der Matrix, in dem nur noch jede zweite Kombination gebaut wird. Analog drittelt index%3!=0 die Größe der Matrix, in dem nur noch jede dritte Kombination gebaut wird, usw.