相关疑难解决方法(0)

如何从Jenkins管道Groovy脚本调用资源文件中定义的bash函数?

我们使用Pipeline Shared Libraries插件来分解我们不同的Jenkins 管道共有的代码.

从其文档中,它resources为非Groovy文件提供了顶级文件夹.由于我们依赖于不同的bash函数,我们希望将它们托管在一个单独的.sh文件中(因此它们也可以被除Jenkins之外的其他进程使用).相同的文档告诉我们使用libraryResource步骤加载这些资源文件.我们可以在Groovy脚本中成功调用此方法,并将其资源文件名称作为argument(function.sh).但是从这里开始,我们无法找到一种方法来调用同一个Groovy脚本中foofoo定义的函数function.sh.

sh "foofoo"  #error: foofoo is not defined
Run Code Online (Sandbox Code Playgroud)

我们也试图像这样首先采购它:

sh "source function.sh && foofoo"
Run Code Online (Sandbox Code Playgroud)

但它在source步骤失败,说明function.sh找不到.

调用中定义的bash函数的正确过程是什么? function.sh

bash groovy jenkins jenkins-pipeline

6
推荐指数
3
解决办法
8522
查看次数

标签 统计

bash ×1

groovy ×1

jenkins ×1

jenkins-pipeline ×1