【问题标题】:Buildbot builder pending until previous finishedBuildbot builder 等待之前完成
【发布时间】:2016-04-05 12:18:12
【问题描述】:

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

这是我努力实现的目标: 我们希望当一个构建器已经在运行并且它被再次触发时,它保持挂起直到它的前一个实例完成,即使它有一个可用的从属。这将允许其他构建器同时运行。

我已阅读Buildbot running sequential builders after they're finished,但它与我的问题不符。

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

我知道 mergeRequests 参数并使用它,但这仅适用于 pending 构建,而不是将构建从挂起释放到运行的机制,或者甚至更早(如果新触发的)构建开始时根本没有挂起。

有谁知道如何做到这一点?

【问题讨论】:

    标签: python buildbot


    【解决方案1】:

    你走在正确的道路上。您需要一个全局的“MasterLock”(而“SlaveLock”是针对每个从站进行评估的)。

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

    然后在您的构建器上:

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

    【讨论】:

    • 嗨!谢谢你的提示。我会试试这个,但现在我很忙。当我有时间检查这个时,我会回到这里;-)
    • 嗨,再次回到这个话题 :) 所以我尝试了这个,但是从站无论如何都会被构建器阻止,不同之处在于它会等待从站被阻止,直到上一个构建完成.. . 知道如何防止在锁释放之前获取从站吗?
    猜你喜欢
    • 2016-06-26
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    相关资源
    最近更新 更多