有人问如何创建一个代理,它创建一个从节点(在这里),我不知道这是真的还是假的:
agent { label 'my-defined-label' }
字符串和
agent { node { label 'my-defined-label' customWorkspace '/some/other/path' } }
型所以“我定义的标签”只是奴隶的名字?谢谢你的回答
fjnneemd1#
它可以匹配精确的节点名称、标签、任何其他支持的标签表达式。例如,java8 && linux、(docker || java) && !windows和corp-agent-node-01-name都是有效的标签语法。文档清楚地说明了内置语法的工作原理:在节点(通常是从节点)上分配执行器,并在该从节点上的工作区上下文中运行进一步的代码。label-计算机名、标签名或任何其他标签表达式(如linux && 64bit),用于限制此步骤的构建位置。可以留空,在这种情况下,将采用任何可用的执行器。
java8 && linux
(docker || java) && !windows
corp-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”
1条答案
按热度按时间fjnneemd1#
它可以匹配精确的节点名称、标签、任何其他支持的标签表达式。例如,
java8 && linux
、(docker || java) && !windows
和corp-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”