如何在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
步骤。