一尘不染

如何将Groovy类导入Jenkinfile?

jenkins

如何在Jenkinsfile中导入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()
}

阅读 212

收藏
2020-07-25

共1个答案

一尘不染

您可以通过load命令返回该类的新实例,并使用该对象调用“ doStuff”

因此,您可以在“ Thing.groovy”中找到它

class Thing {
   def doStuff() { return "HI" }
}

return new Thing();

您将在dsl脚本中包含以下内容:

node {
   def thing = load 'Thing.groovy'
   echo thing.doStuff()
}

应该在控制台输出中显示“ HI”。

这样可以满足您的要求吗?

2020-07-25