在Jenkins管道中设置节点标签

时间:2017-02-17 07:29:35

标签: jenkins groovy jenkins-pipeline

是否可以为节点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脚本中使用您可以在slave配置中设置的标签吗?

1 个答案:

答案 0 :(得分:6)

刚刚发现Pipline语法(生成器)提供了这个选项:

  

有效运算符

     

支持以下运算符,按优先顺序排列。

     

(表达式)

     

括号

     

!EXPR

     

否定

     

EXPR&安培;&安培; EXPR

     

     

EXPR || EXPR

     

     

a - > B'/ P>      

"意味着"运营商。相当于!a | b。例如,windows-> x64   可以被认为是"如果在Windows奴隶上运行,那奴隶必须是   64位&#34。它仍然允许Jenkins在linux上运行这个版本。

     

a< - > B'/ P>      

"当且仅当"运营商。相当于&& b || !急症;&安培;!湾例如,   windows< - > sfbay可以被认为是"如果在Windows奴隶上运行,   奴隶必须在SF托架区域,但如果不在Windows,它必须   不要在海湾地区。"

     

所有运算符都是左关联的(即,a-> b-> c< - >(a-> b) - > c)   表达式可以包含空格以提高可读性,而且它可以   忽略。

     

如果标签名称或从属名称包含不安全名称,则可以引用它们   字符。例如," jenkins-solaris(Solaris)" || " Windows 2008"

documentation中的更多内容。