返回管道的Jenkins脚本?
是否可以通过函数调用在groovy脚本中创建管道 如果我有一个脚本,例如:返回管道的Jenkins脚本?,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,是否可以通过函数调用在groovy脚本中创建管道 如果我有一个脚本,例如: def call() { pipeline { agent any stages { ... } } } 然后我可以在Jenkins中调用此脚本: @Library('foo') _ foo() 我看到管道的各个阶段都在运行 但是,如果我更改脚本,使管道步骤位于call()方法之外并位于其自己的方法中: def build() { pipeline { agent any
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等)创建单独的脚本。您可以从正在运行的作业构建作业,请参阅。