我正在为 CNB(构建包)开发 Jenkins 管道插件。我正在尝试输出 Jenkins 控制台输出,但无法成功。
我查看了许多解决方案,通常他们使用 Tasklistener 解决了这个问题。但是不知道是否可以访问Tasklistener。
这是我的“Buildpacks.groovy”脚本。
package io.jenkins.plugins.buildpacks.pipeline
import org.jenkinsci.plugins.workflow.cps.CpsScript
import groovy.lang.Closure
import io.jenkins.plugins.buildpacks.pipeline.BuildpacksDSL.BuildpacksPipelineDSL
class Buildpacks implements Serializable {
private org.jenkinsci.plugins.workflow.cps.CpsScript script
public Buildpacks(org.jenkinsci.plugins.workflow.cps.CpsScript script){
this.script = script
}
// first executed method is similar to main method in java
public void call(final Closure body) {
// The config array is the array that holds the variables.
def config = [:]
body.resolveStrategy = Closure.DELEGATE_FIRST
body.delegate = config
body()
// creating a new instance, when we give the 'config' array in the constructor, the variables is transferred.
BuildpacksPipelineDSL pipeline = new BuildpacksPipelineDSL(config)
}
}
如果您想查看所有代码,我正在 this 存储库上将其作为开源开发。