是否可以通过函数调用在groovy脚本中创建管道?
如果我有一个脚本,例如:
def call() {
pipeline {
agent any
stages { ... }
}
}
然后我可以使用以下方法在Jenkins中调用此脚本:
@Library('foo') _
foo()
我看到管道在所有阶段都在运行。
但是,如果我更改脚本,以便流水线步骤不在call()方法之外并且在其自己的方法中:
def build() {
pipeline {
agent any
stages {
...
}
}
}
并通过詹金斯调用它:
@Library('foo') _
foo.build()
然后出现以下错误:
java.lang.NoSuchMethodError: No such DSL method 'agent' found among steps [...]
我真的很想拥有一个带有build(),deploy(),release()等方法的脚本,每个方法都定义自己的管道,但是似乎只能通过call()创建一个管道。方法,并且每个管道都需要有单独的脚本(build.groovy,deploy.groovy等)。