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

时间:2017-06-26 09:59:05

标签: jenkins groovy jenkins-pipeline

我在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()

但结果是''。

1 个答案:

答案 0 :(得分:15)

有一个环境变量' NODE_NAME'有这个。

你可以像这样访问它:

echo "NODE_NAME = ${env.NODE_NAME}"

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