web-dev-qa-db-fra.com

Définir le libellé du nœud dans le pipeline Jenkins

Est-il possible de définir une étiquette au lieu d'un nom pour les nœuds Groovy? Nous voulons définir des étiquettes en dehors du script pour y accéder facilement à partir du tableau de bord Jenkins.

Idée: Au lieu de:


Groovy Script

node('Slave_1 || Slave_2'){ echo 'Hello world' }

Nous voulons quelque chose comme ça:


Configuration du pipeline

Node Label Name:     slaveGroup
Node Label Value:    Slave_1 || Slave_2

Groovy Script

node(slaveGroup){echo 'Hello world'}

Ou est-il possible d'utiliser les étiquettes que vous pouvez définir en configuration esclave directement dans le script Groovy?

8
Rod Kimble

Je viens de découvrir que la syntaxe Pipline (générateur) donne cette option:

Opérateurs valides

Les opérateurs suivants sont pris en charge, dans l'ordre de priorité.

(expr)

parenthèse

! expr

négation

expr && expr

et

expr || expr

ou

a -> b

opérateur "implique". Équivalent à! A | b. Par exemple, windows-> x64 pourrait être considéré comme "s'il est exécuté sur un esclave Windows, cet esclave doit être 64 bits". Il permet toujours à Jenkins d'exécuter cette version sur Linux.

a <-> b

opérateur "si et seulement si". Équivalent à a && b || !un B. Par exemple, windows <-> sfbay pourrait être considéré comme "s'il est exécuté sur un esclave Windows, cet esclave doit être dans la zone de la baie SF, mais sinon sur Windows, il ne doit pas être dans la zone de la baie."

Tous les opérateurs sont associatifs à gauche (c'est-à-dire a-> b-> c <-> (a-> b) -> c) Une expression peut contenir des espaces pour une meilleure lisibilité, et elle sera ignorée.

Les noms d'étiquette ou les noms d'esclave peuvent être cités s'ils contiennent des caractères dangereux. Par exemple, "jenkins-solaris (Solaris)" || "Windows 2008"

Plus dans la documentation .

7
Rod Kimble