从Jenkins管道共享库中的实用程序函数调用实用程序功能

时间:2016-10-18 10:57:34

标签: jenkins groovy jenkins-pipeline

我正在关注访问步骤下的example。在src/org/foo/Zot.groovy中,我想调用例如在{1}中定义的效用函数。 src/org/foo/Bar.groovy。怎么做?

我尝试了几件事没有成功,例如:

// src/org/foo/Zot.groovy
package org.foo;

def bar = new org.foo.Bar()

def checkOutFrom(repo) {
  bar.someFunction()
  git url: "git@github.com:jenkinsci/${repo}"
}

在这种情况下,Jenkins挂起加载全局库。我还尝试import文件。

1 个答案:

答案 0 :(得分:1)

此处有类似且可能相关的问题的复制:https://issues.jenkins-ci.org/browse/JENKINS-31484

我使用全球CPS图书馆重现了类似的情况。执行程序堆栈跟踪显示线程在InvokerInvocationException中被锁定,就像在提供的链接中一样。

通过在所有被调用的方法中添加@NonCPS注释,我能够解决我的小型重现案例。