【发布时间】:2017-04-27 15:03:31
【问题描述】:
我有一个 jenkins 管道,它可以像这样加载一个 groovy 实用程序脚本:
Utils = load('/var/lib/jenkins/utils/Utils.groovy')
当我在 master 节点上执行管道时,一切都很好。在这种情况下,我可以在管道中使用我的类 Utils 中的方法。
node('master'){
stage('stage1'){
def Utils = load('/var/lib/jenkins/utils/Utils.groovy')
Utils.doSomething()
}
}
当我尝试在 slave 中执行我的管道时,我的问题出现了。在这种情况下,上面的负载会导致错误
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()
}
}
这不是很有效,我不想只使用 master 来加载文件 您对如何在从节点上加载 Groovy scipt 有什么建议吗?
谢谢
【问题讨论】:
标签: jenkins groovy jenkins-pipeline jenkins-slave