代码之家  ›  专栏  ›  技术社区  ›  Josh M.

防止Jenkins在编译运行时轮询SCM(Git)

  •  3
  • Josh M.  · 技术社区  · 8 年前

    假设我有一个构建需要5分钟才能运行,而SCM polling设置为每2分钟运行一次( H/2 * * * * ). 如果推送提交,Jenkins将轮询并查找更改并开始构建1。两分钟后,1号建筑仍在运行,詹金斯民意测验 再一次 ,找到相同的“更改”(已在生成),并将生成2排队。

    我已经为这个项目设置了“不要同时构建”。

    在生成完成之前,“最后生成的修订版”似乎不会更新。您可以想象,如果我在同一时间排队5-10个不同的项目,那么Jenkins将减慢速度(运行来自不同项目的同时生成),并且对这些项目中的每个项目的轮询将继续为已经排队或生成的同一提交添加另一个生成。

    如何禁用 轮询 当同一个项目正在建设时?(将轮询改为每5分钟检查一次并不是正确的解决方案。)

    TL;博士 我不想让我的Jenkins项目在它们已经在构建时进行投票,或者构建已经排队。

    2 回复  |  直到 8 年前
        1
  •  1
  •   Roman Pokrovskij Archil Labadze    7 年前

    几年前,Jenkins项目拒绝添加此功能:

    https://issues.jenkins-ci.org/browse/JENKINS-8950 -如果生成正在运行,则禁用轮询。

        2
  •  1
  •   Josh M.    7 年前

    除了切换到基于webhook的构建之外,这个问题没有其他的解决方案,这就是我们所做的,而且从来没有回头过。