一尘不染

如何使用Groovy在Jenkins中获取当前构建的节点名称

jenkins

我在Jenkins中有一个管道作业,我想知道它在其上运行的节点的名称。有没有办法从作业的Groovy脚本中获取节点名称?

我尝试了以下代码:

print currentBuild.getBuiltOn().getNodeName()

错误是:

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified method org.jenkinsci.plugins.workflow.job.WorkflowRun getBuiltOn

我也尝试过这个:

def build = currentBuild.build()
print build.getExecutor().getOwner().getNode().getNodeName()

但结果是“”。


阅读 574

收藏
2020-07-25

共1个答案

一尘不染

有一个环境变量“ NODE_NAME”具有此功能。

您可以像这样访问它:

echo "NODE_NAME = ${env.NODE_NAME}"

在编辑管道作业时,可以转到“管道语法”帮助链接(页面左侧),然后找到“全局变量”部分,然后单击“全局变量参考”,以找到所有可用的环境变量。 。“
env”部分列出了可用的环境变量。

2020-07-25