如何在一个文件中写入多个函数?

Use*_*645 1 groovy jenkins jenkins-pipeline

我正在编写自己的 Jenkins 共享库。目前我的库看起来像这样:

root
|
|- vars
   |---function1.groovy
   |---function2.groovy
   |---function3.groovy
Run Code Online (Sandbox Code Playgroud)

每个函数文件都包含一个call()方法及其正在执行的代码。如何将所有这些功能合并到一个文件中?

Ale*_*ovs 5

将所有函数放入单个文件中:

root
|
|- vars
   |---allFunctions.groovy
Run Code Online (Sandbox Code Playgroud)

将函数重命名为call()

function1(string) {
  echo "function1 - $string"
}

function2(string) {
  echo "function2 - $string"
}

Run Code Online (Sandbox Code Playgroud)

从不同的文件(例如 )中调用它们vars/buildRepo.groovy

allFunctions.function1('Hello world via function1')
allFunctions.function2('Hello world via function2')
Run Code Online (Sandbox Code Playgroud)

从相同的文件(例如)中调用它们vars/allFunctions.groovy

function1('Hello world via function1')
function2('Hello world via function2')
Run Code Online (Sandbox Code Playgroud)

正如 @matt-schuchard 指出的,它在https://www.jenkins.io/doc/book/pipeline/shared-libraries/#defining-global-variables的示例中进行了描述log.groovy