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?
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 .