从jenkins slave加载groovy脚本
我有一个jenkins管道,它加载如下groovy实用程序脚本:从jenkins slave加载groovy脚本,jenkins,groovy,jenkins-pipeline,jenkins-slave,Jenkins,Groovy,Jenkins Pipeline,Jenkins Slave,我有一个jenkins管道,它加载如下groovy实用程序脚本: Utils = load('/var/lib/jenkins/utils/Utils.groovy') 在主节点上执行管道时,一切正常。在本例中,我能够在管道中使用类Utils中的方法 node('master'){ stage('stage1'){ def Utils = load('/var/lib/jenkins/utils/Utils.groovy') Utils.doSometh
Utils = load('/var/lib/jenkins/utils/Utils.groovy')
在主节点上执行管道时,一切正常。在本例中,我能够在管道中使用类Utils中的方法
node('master'){
stage('stage1'){
def Utils = load('/var/lib/jenkins/utils/Utils.groovy')
Utils.doSomething()
}
}
当我试图在从机中执行管道时,出现了问题。在这种情况下,上述负载会导致错误
java.io.IOException:java.io.FileNotFoundException:/var/lib/jenkins/utils/utils.groovy(没有这样的文件或目录)
为了避免此错误,在管道中,我在主节点中加载文件,如下所示
node('master'){
stage('stage1'){
Utils = load('/var/lib/jenkins/utils/Utils.groovy')
}
}
node(){
stage('stage2'){
Utils.doSomething()
}
}
这不是很有效,我不想使用主文件只是为了加载文件
关于如何在从属节点上加载Groovy scipt,您有什么建议吗
谢谢首先,当您在从属节点上执行时试图加载文件时,导致了上面的错误java.io.IOException:java.io.FileNotFoundException:/var/lib/jenkins/utils/utils.groovy(没有这样的文件或目录)。但是该文件存储在主节点的/var/lib/jenkins/utils/utils.groovy中,我想这是另一台计算机和另一个文件系统。因此,这个错误是合乎逻辑的
当您在另一个节点(计算机、服务器等)上执行某些管道操作时,如果您想加载文件,则需要将其存储在该计算机(从机)中并从该计算机加载-因此路径必须与从机中的文件位置一致
因此,我建议: