如何从另一个 Jenkins 共享库调用函数

xim*_*bal 6 shared-libraries jenkins jenkins-job-dsl jenkins-pipeline

我有两个独立的库(库 A 和库 B),我在 jenkins 配置上定义了它们,因此它们都可以从管道中调用。

从库 AI 想调用库 B 中定义的一些函数/方法。

我的逻辑告诉我,在我可以访问库 B 的任何方法之前,我需要导入并可能在库 A 中创建库 B 的实例。但我没有成功。我不是 Java 专家,但是非常感谢任何指导。

met*_*ain 5

这取决于库的存储位置。

如果它们在 ./vars/ 下,那么您不需要导入它们,因为 Jenkinsfile 已经通过@Library('sharedLibs') _. 你会叫它,def a = LibraryB.functionA()

如果它在传统的 ./src/com/something/whatevas 下,那么你会import com.something.whateva.Library在库 A 的顶部做一个更传统的


vma*_*tin 5

在詹金斯文件中:

@Library(['libA', 'libB']) _
Run Code Online (Sandbox Code Playgroud)

你可以在它们之间调用:

import org.myorg.PruebaA / import org.myorg.PruebaB
Run Code Online (Sandbox Code Playgroud)