gpt4 book ai didi

jenkins-pipeline - 如何将 Jenkins 共享库中的类导入到管道中

转载 作者:行者123 更新时间:2023-12-04 12:27:27 25 4
gpt4 key购买 nike

我在共享库的/var 目录中使用了一些全局方法,一切正常。现在我需要保持进程的状态,所以我正在编写一个 groovy 类。
基本上我在'/src'中有一个名为'ClassTest.groovy'的类,它是这样的;

class ClassTest {
String testString
def method1() { ... }
def method2() { ... }
}

在管道开始时

library 'testlibrary@'
import ClassTest

结果:

WorkflowScript: 2: unable to resolve class ClassTest @line 2, column 1.
import ClassTest



以前,我只是去

library 'testlibrary@' _

并使用这些方法

script {
libraryTest.method1()
...
libraryTest.method2()
}

方法在文件“/var/libraryTest.groovy”中,一切正常。所以我知道共享库在那里,但我对 groovy/Jenkins 处理类/共享库的方式感到困惑。

导入类的正确方法是什么?我在文档中找不到一个简单的例子(带有 groovy 文件、文件结构和管道)。

编辑:
我将文件移动到“src/com/company/ClassTest.groovy”并将管道修改为

@Library('testlibrary@') import com.company.ClassTest
def notification = new ClassTest()

但现在错误是

unexpected token: package @ line 2



groovy 文件的前两行是:

// src/com/company/ClassTest.groovy
package com.company;

最佳答案

到目前为止,这是我发现的。

要在我使用的管道中加载库:

@Library('testlibrary@') import com.company.ClassTest
def notification = new ClassTest()

在类文件中,没有 包裹操作说明。我想我不需要一个,因为我没有任何其他文件或类,所以我真的不需要包。此外,当对类和类所在的文件使用相同的名称时,我遇到了错误。该错误特别提示并要求更改其中之一。我想这两件事与 Jenkins 有关。

那行得通,并且库已加载。

关于jenkins-pipeline - 如何将 Jenkins 共享库中的类导入到管道中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50491810/

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