所以我继承了一个稍微奇怪的设置(改变它会很费时):
我正在使用Jenkins进行SCM(Perforce)轮询,但触发的作业除了触发本身之外不会以任何方式使用SCM Workspace。然后构建拉出最新版本并从中构建。此设置有效,但会产生不必要的积压:
10:00 submit Rev#100001
10:05 SCM polls this and queue a build job#101
10:06 job#101 start (will take ~2H)
10:30 submit Rev#100002
10:35 SCM polls this and queue a build job#102
11:00 submit Rev#100003
11:35 SCM polls this and queue a build job#103
12:00 job#101 exits
12:01 job#102 start (will take ~2H)
现在假设没有新的提交,job#103
是job#102
不需要的重复。
更新:来自@Slav的answer我意识到我不够清楚。 SCM触发器与拉出代码库无关,导致这种异常:
job#101 reports that it was triggered by Rev#100001 and builds from Rev#100001
job#102 reports that it was triggered by Rev#100002 and builds from Rev#100003
job#103 reports that it was triggered by Rev#100003 and builds from Rev#100003
这也解释了为什么有多个排队的运行:从Jenkins'es POV,每个排队的构建都不同。
我希望消除此积压。
这可以通过例如
来完成这可能吗?如果是这样的话?
答案 0 :(得分:0)
你确定发生了这种情况吗?即使中间有多个触发器,我也从未见过超过1个排队的运行。
当我遇到构建时间超过轮询间隔的情况时,手动修复它的最简单方法是在作业启动后禁用作业(并在作业完成后重新启用它),但是这样做了仅在例外和人工干预的情况下有用。
如果你想将它用于自动化目的,你应该看看"安静时期"高级选项(在Job Configuraiton下)。