如何为jenkins工作需要两个或多个标签?
我不知道Jenkins是如何在“标签表达”字段中只允许单个值的,名为“限制可以运行这个项目的地方”的选项。如何为jenkins工作需要两个或多个标签?
我试过很多的组合,以添加多个标签,我无法找到任何方式把两项。
我需要提及的是,我需要在这些标签之间进行AND操作。
具有讽刺意味的是,这个选项甚至有它加载一些文档,这是缺少说一个表达式应该如何看起来像一个Info按钮。詹金斯UX棺材中的另一个小钉子。在这一个上Google都没有提供帮助。
有一个詹金斯bug导致帮助文本不被显示。自1.585以来一直存在,自1.621(或1.609.3)以来一直保持不变。
这里是帮助文本:
如果你想始终运行在一个特定节点/从这个项目中,只指定其名称。当你有少量的节点时,这很有效。
随着集群规模的增长,它不以配合项目的具体奴隶,因为它伤害了资源利用率,当奴隶来来去去,变得非常有用。对于这种情况,将标签分配给从服务器以对其功能和特性进行分类,并在这些标签上指定一个布尔表达式来决定运行的位置。
有效运算
以下运算符被支持,在优先顺序。
(表达式)括号
!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"
你使用的是什么版本?这个帮助文本已经存在了一段时间,但我没有在1.609.1(LTS)中看到它。 –
具体例子呢? –
这看起来像一个错误。我在“标签表达”的帮助中看到了@ogondza引用的文字,但我在Jenkins 1.609.1的作业配置中看不到这个帮助。 –
是的,这是一个错误。我已经更新了我的答案。 –