一尘不染

如何在Jenkins管道中导入类文件?

jenkins

我有一个包含类的文件。范例:


abstract class TestBase
{
    String name
    abstract def fTest()

    def bobby(){
        return "bobby"
    }
}
class Test extends TestBase
{
    def fTest(){
        return "hello"
    }
}
class Test2 extends TestBase
{
    def fTest(){
        return "allo"
    }
    def func(){
        return "test :)"
    }
}

我想将文件导入到我的Jenkins管道脚本中,因此可以创建我的一个类的对象。例如 :


def vTest = new Test()
echo vTest.fTest()
def vTest2 = new Test2()
echo vTest2.func()

如何在Jenkins Pipeline中导入文件?谢谢。


阅读 199

收藏
2020-07-25

共1个答案

一尘不染

您可以这样:

Classs.groovy

class A{
    def greet(name){ return "greet from A: $name!" }
}

class B{
    def greet(name){ return "greet from B: $name!" }
}

// this method just to have nice access to create class by name
Object getProperty(String name){
    return this.getClass().getClassLoader().loadClass(name).newInstance();
}

return this

管道:

node{
    def cl = load 'Classes.groovy'
    def a = cl.A
    echo a.greet("world A")
    def b = cl.B
    echo b.greet("world B")
}
2020-07-25