如何在Jenkinsfile中导入Groovy类?我尝试了几种方法但没有一种方法有效。
这是我要导入的类:
Thing.groovy
class Thing {
void doStuff() { ... }
}
这些是不起作用的事情:
Jenkinsfile-1
node {
load "./Thing.groovy"
def thing = new Thing()
}
Jenkinsfile-2
import Thing
node {
def thing = new Thing()
}
Jenkinsfile-3
node {
evaluate(new File("./Thing.groovy"))
def thing = new Thing()
}
答案 0 :(得分:5)
您可以通过load命令返回该类的新实例,并使用该对象调用" doStuff"
所以,你可以在" Thing.groovy"
class Thing {
def doStuff() { return "HI" }
}
return new Thing();
你会在你的dsl脚本中有这个:
node {
def thing = load 'Thing.groovy'
echo thing.doStuff()
}
哪个应该打印" HI"到控制台输出。
这会满足您的要求吗?
答案 1 :(得分:0)
这很有趣,以任何方式您都可以拥有多个构造函数?
如果您使用共享库,则可以轻松实现,但是在这种情况下,该类不在共享库中