如何在jenkins管道从节点块的上下文中执行groovy/java代码?

如何在jenkins管道从节点块的上下文中执行groovy/java代码?,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,在此片段中: stage('build') { node ('myslave') { git(url: 'git@hostname:project.git') println(InetAddress.getLocalHost().getHostName()) } } 正确执行git步骤,并将代码签出到节点的工作区中。 但是为什么在执行第二个命令时要获取主机名呢 例如,在node(){} new File("${WORKSPACE}).listFi

在此片段中:

stage('build') {
    node ('myslave') {
        git(url: 'git@hostname:project.git')
        println(InetAddress.getLocalHost().getHostName())
    }
}
正确执行git步骤,并将代码签出到节点的工作区中。 但是为什么在执行第二个命令时要获取主机名呢

例如,在
node(){}

new File("${WORKSPACE}).listFiles()

它实际上不会迭代
${WORKSPACE}
文件夹

管道脚本中的所有Groovy代码都是在主机上执行的。我找不到任何方法在从机上执行通用groovy代码,这不是因为Jenkins core中缺乏功能,而是由于管道groovy和对象序列化的问题


但是,也可以在从机端执行文件操作,例如如何访问从机上的文件。

一般来说,此类操作应使用
sh
步骤。