我的用例:
工作A设定为周一至周五18:00。
工作B取决于工作A的成功,但应该只在周一至周五的06:00运行。 (周一早上的比赛将取决于周五晚上的比赛)。我更喜欢固定时间而不是工作之间的延迟。
在任何一个早晨,如果我看到Job A失败(因此Job B从未运行),我希望能够运行(修复)Job A然后立即触发Job B.
到目前为止我发现的仅提供了此用例的一部分。我修改了Pipeline,最近将我的Jenkins实例升级到2.89.3,所以我可以访问最新的功能和插件。文件系统触发似乎可行。
任何建议都表示赞赏。
答案 0 :(得分:1)
您可以使用" Build Triggers"中提供的选项。 例如: Build Trigger
希望这对你有用!
答案 1 :(得分:0)
这是一个棘手的用例,因为通常你希望一个工作能够立即从另一个工作继续,而不是等待可能的三天。 当你想要它时,希望它能够直接运行,这进一步复杂化。
我不相信有一个“我已经完成了这个时候踢这个工作”的下游触发所以对于第一部分,我能想到的唯一的事情是:
对于第二部分,您可以获得构建原因(有关管道实现的信息,请参阅how to get $CAUSE in workflow,并在https://issues.jenkins-ci.org/browse/JENKINS-41272上投票以获取使用沙箱时的功能)。 然后根据触发器
使管道的行为有所不同即。如果您选择上面的第二个选项,那么在作业B中,如果由Cron触发,您可以执行此操作,然后根据需要执行操作。如果由Upstream触发,则无论如何都要运行。