我有一份工作在任何提交中开始。运行需要5-10分钟。
但是如果(比方说)4或5个git提交背靠背我不想要运行4个或5个作业 - 只需要一个作业进行最后一次提交。所以基本上如果构建队列中有一个类型为“X”的作业,我不希望队列中有另一个类型为“X”的作业。
答案 0 :(得分:3)
如果您使用SCM触发器,默认作业参数,并且不检查“必要时执行并发构建”选项,那么这应该是默认行为。
可以使用参数,并发构建,作业限制等来改变这种行为。我的知识可能也已经过时(Jenkins的发展非常快)。
侧面说明:多个构建不一定是坏事 - 它们会为您提供失败的位置,这可能会让您更快地识别违规提交。对于10分钟的构建来说并不重要,但是如果你的构建变得比那个大,那么这可能是一个问题(对于一个庞大的团队,你可以在30分钟内完成很多提交)。
答案 1 :(得分:1)
基本上你只想检查每5或10分钟是否有新的提交?您可以在触发配置中执行此操作:每隔X分钟监控一次源控制(CRON语法:* / 15 * * * *每15分钟一次)
如果你每15分钟检查一次新的提交是否发生并且你的工作只需要10分钟就可以运行,那么你就不可能有另外的执行暂停(除非有人要求“手动”构建......)。 / p>
为避免后一种情况,您可以考虑Throttle Concurrent Builds plugin