我需要能够创建类并在Jenkins管道中使用它们。
假设我有一个非常简单的groovy类,该类在groovy脚本中声明,如下所示:
class MyClass {
@Override
public String toString() {
return "toto";
}
}
return MyClass();
此类位于文件夹Project\Buildfiles\Jenkins\com\external
然后在我的Jenkinsfile中执行以下操作:
node('mynode') {
toto = load 'Project\Buildfiles\Jenkins\com\external\MyClass.groovy'
echo toto.toString()
}
这实际上有效
但是,这确实会给我的IDE带来一定数量的问题,导致我不了解发生了什么。而且,这阻止了我在自定义类中拥有多个构造函数。
以下是我一直试图做的并且需要我帮助的内容。在名为ExternalClasses.groovy
的文件中:
class Toto{
@Override
public String toString() {
return "toto";
}
}
class Tata{
@Override
public String toString() {
return "tata";
}
}
return this;
在JenkinsFile中:
node('mynode') {
external= load 'Project\Buildfiles\Jenkins\com\external\ExternalClasses.groovy'
toto = new Toto();
tata = new Tata();
}
这失败 我尝试了几种方法,使用了程序包名称,使用了Toto.new()语法,但没有一个奏效。
有什么想法吗?
编辑共享库:
我实际上有一个共享库,它由多个团队使用,并且包含非常具体的数据,这些数据应该由团队拥有,而不是由图书馆拥有。
我们需要能够将不属于它的东西放出图书馆。这项工作的目的是减轻所说的非通用代码库。
答案 0 :(得分:0)
您可以使用Shared Library Feature。将您的脚本上传到Github / Bitbucket之类的VCS中,并使用Jenkins-Jobs执行它们。它们适用于所有项目/职位。