jenkins 更新声明性管道作业的cron触发器不会更新触发器

wz1wpwve  于 2022-11-21  发布在  Jenkins
关注(0)|答案(2)|浏览(170)

我有一个声明性的管道作业,它被定义为一个管道脚本(不是SCM中的管道)。它有一个cron触发器:

triggers {
    cron('H */4 * * 1-5')
}

我已经按需运行过几次cron触发器,到目前为止一切都很好,现在如果我更改cron触发器,jenkins不会接受更改,旧的触发器仍然有效,直到我强制运行作业。
我如何让Jenkins使用更改的触发器而不手动运行作业?我认为这个问题可以扩展到任何声明性作业定义更改实际上,我如何让Jenkins更新作业设置而不被迫运行作业。

wmvff8tz

wmvff8tz1#

这与Jenkins管道的工作方式有关。触发以及其他作业配置只有在作业执行一次后才加载到Jenkins本身。这只是鸡蛋和鸡的问题。
由于流水线作业应该在存储它的地方(例如Github)的上下文中,因此您应该考虑从那里触发它,然后使用一些内部逻辑来决定是否运行它。
此解决方案的复杂性应该与更新触发器的次数有关。

dtcbnfnu

dtcbnfnu2#

简而言之,目前,在写作时,你不能。
我通过添加一个“noop”选项来解决参数化管道的这个问题,并确保当选择这个选项时,我的管道什么也不做。这样,作业运行,但没有副作用。
如果你的管道没有参数化,我们目前,正如我所说,运气不好。

相关问题