在 Jenkins 管道中使用它时,我必须在共享库中使用 "call{}" 吗?

Do i have to use "call{}" in a shared library when using it in a Jenkins pipeline?

我正在努力将整个 Jenkins 从正常工作转变为 DSL/Pipelines。必须为所有导入实现共享库。在所述库中有一大堆脚本。 目前,它们都是这样设置的:

package common

class Foo {
      static String bar(String text) {  stuff  }
      static String bar2(String text) {  stuff  }
      static String bar3(String text) {  stuff  }
}

并在筹备中:

#!/usr/bin/env groovy
@Library('jenkins-shared-libs') _
import common.*

脚本多,方法多。我如何、在哪里以及不能使用 call() 来实际“呼叫”他们?

如果您想在 Foo class 中调用 bar 方法,您可以执行以下任一操作:

选项 1:

common.Foo.bar('some argument')

选项 2:

import common.*

Foo.bar('some argument')

选项 3:

import static common.Foo.*

bar('some argument')