gpt4 book ai didi

jenkins - 在管道 Jenkinsfile 中导入 groovy 类

转载 作者:行者123 更新时间:2023-12-02 12:15:10 33 4
gpt4 key购买 nike

我需要能够创建类并在 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;

在 Jenkins 文件中:

node('mynode') {
external= load 'Project\Buildfiles\Jenkins\com\external\ExternalClasses.groovy'
toto = new Toto();
tata = new Tata();
}

失败了我尝试了几种方法,使用了包名称,使用了 Toto.new() 语法,但没有一个有效。

有什么想法吗?

编辑共享库:

我实际上有一个共享库,它被多个团队使用,并且包含非常具体的数据,这些数据应该由团队而不是库拥有。

我们需要能够将不属于图书馆的东西移出图书馆。这项工作的目的是减轻上述非通用代码库的影响。

最佳答案

您可以使用Shared Library Feature 。将脚本上传到 Github/Bitbucket 等 VCS 中,并使用 Jenkins-Jobs 来执行它们。它们适用于所有项目/工作。

关于jenkins - 在管道 Jenkinsfile 中导入 groovy 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54598393/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com