Buildbot构建器待完成,直到上一个完成

时间:2016-04-05 12:18:13

标签: python buildbot

以下是我目前的情况: 我们有许多奴隶和许多(许多)建设者的buildbot。每个从站一次只能运行一个构建。我们有夜间或提交时触发的建设者。我们没有大量的奴隶,构建需要几个小时才能完成。

以下是我尝试实现的目标: 我们希望当构建器已经运行并且它再次被触发时,它会保持挂起状态,直到它的上一个实例完成为止,即使有一个可用的从属服务器。这将允许其他建筑商在此期间运行。

我已阅读Buildbot running sequential builders after they're finished,但这与我的问题无关。

我已经读过关于联锁但我不确定它对我的情况有帮助。 http://docs.buildbot.net/current/manual/cfg-interlocks.html

我知道mergeRequests参数并使用它,但这仅适用于待定构建,而不是将构建从挂起到运行的机制,或者甚至更早-triggered build是在没有待处理的情况下启动的。

有谁知道如何实现这个目标?

1 个答案:

答案 0 :(得分:0)

你走在正确的道路上。你想要一个" MasterLock"这是全局的(而" SlaveLock"是按奴隶评估的。)

my_lock = locks.MasterLock("some name", maxCount=1))

然后在你的建造者身上:

BuilderConfig(..., locks=[my_lock.access('exclusive')])