RunListener 和 QueueListener 未在管道中调用?
RunListener and QueueListener not invoked in pipeline?
我正在尝试编写一个插件来侦听 Jenkins 管道期间的节点执行。管道将有一些这样的代码:
stage ('production deploy') {
input 'enter change ticket #'...
node('prod') {
// production deploy code here
}
}
在分配节点时,或在节点上执行任何任务 运行 之前,我想验证更改管理票证是否已获批准。对于 Freestyle 作业,我可以使用 QueueListener 或 RunListener,但是当我 运行 一个管道时,它们都不会被调用。
我无法将此代码放入管道脚本中,因为任何可以编辑管道脚本的人都可以删除验证。
在管道中分配节点之前或之后是否可以挂接任何其他侦听器?
在我之前的自由式构建实现中,我覆盖了 setUpEnvironment 方法。我没有意识到这不是在管道运行中调用的 - 有道理。然后我在我的 RunListener 中实现了 onStarted 并且我成功地闯入了我的代码。只是我的困惑。
我正在尝试编写一个插件来侦听 Jenkins 管道期间的节点执行。管道将有一些这样的代码:
stage ('production deploy') {
input 'enter change ticket #'...
node('prod') {
// production deploy code here
}
}
在分配节点时,或在节点上执行任何任务 运行 之前,我想验证更改管理票证是否已获批准。对于 Freestyle 作业,我可以使用 QueueListener 或 RunListener,但是当我 运行 一个管道时,它们都不会被调用。
我无法将此代码放入管道脚本中,因为任何可以编辑管道脚本的人都可以删除验证。
在管道中分配节点之前或之后是否可以挂接任何其他侦听器?
在我之前的自由式构建实现中,我覆盖了 setUpEnvironment 方法。我没有意识到这不是在管道运行中调用的 - 有道理。然后我在我的 RunListener 中实现了 onStarted 并且我成功地闯入了我的代码。只是我的困惑。