6

我有一些建设者和一些建设者和两台奴隶机器。buildbot使用什么算法将构建器分配给从站?

一些建造者可以在一个从属上运行,其中一些可以在两台机器上运行。

buildbot将使用什么算法来安排构建?它是否会注意到一些建造者只能在一个奴隶上运行,并且应该将可以在两个奴隶上运行的那些赋值给那些需求较少的奴隶?我知道buildbot可以用来在多种体系结构上运行相同的构建,比如说Windows,Linux等。我们使用它来分发性能的构建,因为一个构建对我们来说已经足够了。

+0

[相关问题](http://stackoverflow.com/questions/23288323/buildbot-slaves-priority/23308226?noredirect=1#comment35800298_23308226) – hithwen 2014-04-30 08:02:37

回答

11

首先它会获取所有连接到该构建器的从属列表。然后随机挑选一个。如果奴隶已经运行超过slave.max_builds版本,它会选择另一个。

您可以覆盖Builder上的nextSlave方法来更改从属方式的选择方式。传递给你的函数的参数将是Builder对象,以及listbuildbot.buildslave.BuildSlave对象。您必须退回后一个清单中的一个项目,或None

+0

但是,你怎么能检测到,奴隶运行的建设者? – jiamo 2014-04-29 06:22:48

+0

在奴隶你有一个字段build_status其中包含名为runningBuilds列表,我不知道是如果列表还包含入队生成 – hithwen 2014-04-30 08:01:49