Jenkins pipeline/groovy: 加载相对于当前脚本的脚本

Jenkins pipeline/groovy: Load script relative to current script

我有一个管道 groovy 脚本,我从另一个脚本加载它:

load("path/to/my/script/pipeline.groovy")

现在,在此脚本中,我想加载另一个 groovy 脚本。但我不知道完整的 path/to/my/script 路径。我试过了:

load("./subfolder/subscript.groovy")

但是这样是找不到的。我可以以某种方式加载相对于当前脚本文件的 groovy 脚本吗?

一种方法是在您的工作目录中加载第二个脚本 (curl),第一个脚本可以从那里找到并加载它。

如果您要加载多个远程脚本,您可能需要考虑使用 the shared library plugin

如果子文件夹中存在 groovy 文件,您可以使用 findFiles step:

def subscript = findFiles(glob: '**/subscript.groovy') 
load(subscript[0].path)