问题:Jenkins构建slave的标签是否以区分大小写的方式检查作业脚本?

当我有两个构建客户端时,其中一个具有“Windows”标签(第一个字符大写),另一个具有“windows”标签(全部小写),我是否需要编写一个工作标签公式“ (Windows || windows)”(假设标签的大小写受到尊重)或“Windows”或“windows”(假设比较不区分大小写)足以在两台机器中的任何一台上自由运行作业,无论是首先还是免费?

我不得不问,因为我觉得我无法从文档中确定这是以何种方式设置的。 (一些文档甚至指出其他一些检查操作在大小写方面是可配置的。)

解答

节点标签在 jenkins 中是区分大小写的。因此,当您将 (Windows || windows) 编写为目标节点时,jenkins 将首先尝试在带有标签“Windows”的代理上运行该作业,以防该代理没有响应,然后它将尝试运行相同的作业在标签为“windows”的第二个代理上。如果您想在任何可用的代理上自由运行作业,那么有两种方法可以实现

  1. 为您已有的带有 OR (||) 符号(例如“Windows || windows”)的代理定义 RegEx。

  2. 在两个代理上使用相同的标签名称(例如“windows”)并使用标签“windows”运行您的作业。它将以稍微不同的方式运行。在这种情况下,当您使用目标标签“windows”运行该作业时,jenkins 会将请求发送到两个节点,但 jenkins 将在将首先响应的代理上运行该作业。

Logo

CI/CD社区为您提供最前沿的新闻资讯和知识内容

更多推荐