在Jenkins流水线中设置节点标签

12

在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脚本中使用从设备配置中可以设置的标签?

1个回答

12
刚刚发现Pipline Syntax(Generator)提供了以下选项:

有效运营商

支持以下操作符,按优先级排序。

(expr)

括号

!expr

否定

expr&&expr

expr||expr

a -> b

"暗示"运算符。 等同于!a | b。 例如,windows->x64 可以看作是“如果在Windows从机上运行,则该从机必须为64位”。 它仍然允许Jenkins在Linux上运行此构建。

a <-> b

"当且仅当"运算符。 等同于a&&b ||!a&&!b。 例如, windows<->sfbay可以看作是“如果在Windows从机上运行, 该从机必须在SF海湾地区,但如果不在Windows上,则必须不在海湾地区。”

所有运算符都是左结合的(即a->b->c <->(a->b) - > c) 表达式可以包含空格以提高可读性,这将被忽略。

标签名称或从属名称如果包含不安全字符则可以用引号括起来。 例如,“jenkins-solaris(Solaris)”||“Windows 2008”

更多信息请参见文档


这是一条非常有价值的信息!特别是 -> <->。这打开了新的可能性! - Markus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接