是否可以为节点Groovy设置标签而不是名称?我们希望在脚本外部定义标签,以便从Jenkins仪表板轻松访问它们。
想法:而不是:
Groovy脚本
node('Slave_1 || Slave_2'){ echo 'Hello world' }
我们想要这样的东西:
管道配置
Node Label Name: slaveGroup
Node Label Value: Slave_1 || Slave_2
Groovy脚本
node(slaveGroup){echo 'Hello world'}
或者是否可以直接在Groovy脚本中使用您可以在从属配置中设置的标签?
刚刚发现Pipline语法(生成器)提供了这个选项:
有效的运算符
按优先顺序支持以下运算符。
(表达式)
插入语
!EXPR
否定
EXPR && EXPR
和
EXPR || EXPR
要么
a - > b
“暗示”操作员。相当于!a | b。例如,windows-> x64可以被认为是“如果在Windows奴隶上运行,那个奴隶必须是64位”。它仍然允许Jenkins在linux上运行此构建。
a < - > b
“当且仅当”运营商。相当于&& b || !一个&&!湾例如,windows < - > sfbay可以被认为是“如果在Windows奴隶上运行,那个奴隶必须在SF湾区域,但如果不在Windows上,它必须不在湾区。”
所有运算符都是左关联的(即a-> b-> c < - >(a-> b) - > c)表达式可以包含空格以提高可读性,并且它将被忽略。
如果标签名称或从属名称包含不安全的字符,则可以引用它们。例如,“jenkins-solaris(Solaris)”|| “Windows 2008”
更多在documentation。