如何为詹金斯工作要求两个或更多标签?

时间:2015-07-12 12:16:48

标签: jenkins

我不知道Jenkins的名为“限制此项目可以运行的地方”的选项似乎只允许“标签表达式”字段中的单个值。

为了添加多个标签,我尝试了很多组合,而且我找不到任何方法来放两个标签。

我需要提一下,我需要在这些标签之间使用AND。

具有讽刺意味的是,这个选项甚至还有一个Info按钮,可以加载一些文档,缺少表达式应该是什么样的文档。 Jenkins UX棺材中的另一个小钉子。在这一点上,谷歌都没有帮助。

1 个答案:

答案 0 :(得分:9)

有一个Jenkins bug导致帮助文本无法显示。它自1.585开始存在并且自1.621(或分别为1.609.3)以来固定。

以下是帮助文本:

  

如果要始终在特定节点/从属服务器上运行此项目,只需指定其名称即可。当您拥有少量节点时,这种方法很有效。

     

随着集群规模的增长,不将项目绑定到特定的从设备变得有用,因为当从设备可能来来往往会损害资源利用率。对于这种情况,请为从属分配标签以对其功能和特征进行分类,并在这些标签上指定一个布尔表达式来决定运行的位置。

     

有效运算符

     

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

     

(expr)括号

     

!expr 否定

     

expr&& expr

     

expr || expr

     

a - > b “暗示”操作员。相当于!a|b。例如,windows->x64可以被认为是“如果在Windows奴隶上运行,那么奴隶必须是64位”。它仍然允许Jenkins在linux上运行这个版本。

     

a&lt; - &gt; b “当且仅当”运营商。相当于a&&b || !a&&!b。例如,windows<->sfbay可以被认为是“如果在Windows从属设备上运行,则该从属设备必须位于SF托架区域,但如果不在Windows上,则它不能位于托架区域。”

     

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

     

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