Jenkins管道代理用标签还是节点调用从节点?

kmpatx3s  于 2023-11-17  发布在  Jenkins
关注(0)|答案(1)|浏览(134)

有人问如何创建一个代理,它创建一个从节点(在这里),我不知道这是真的还是假的:

agent {
  label 'my-defined-label'
}

字符串

agent {
  node {
    label 'my-defined-label'
    customWorkspace '/some/other/path'
  }
}


所以“我定义的标签”只是奴隶的名字?
谢谢你的回答

fjnneemd

fjnneemd1#

它可以匹配精确的节点名称、标签、任何其他支持的标签表达式。例如,java8 && linux(docker || java) && !windowscorp-agent-node-01-name都是有效的标签语法。
文档清楚地说明了内置语法的工作原理:
在节点(通常是从节点)上分配执行器,并在该从节点上的工作区上下文中运行进一步的代码。
label-计算机名、标签名或任何其他标签表达式(如linux && 64bit),用于限制此步骤的构建位置。可以留空,在这种情况下,将采用任何可用的执行器。

  • 有效运算符 *

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

*(expr)-括号
*!expr-否定
*expr&&expr-和
*expr|| expr-或
a -> B-“implies”运算符。等效于!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”

相关问题