[Buildbot-devel] Limitations using buildbot for building a huge amount of projects

Bailey, Darragh dbailey at hp.com
Thu Apr 24 15:19:04 UTC 2008

> -----Original Message-----
> From: buildbot-devel-bounces at lists.sourceforge.net [mailto:buildbot-devel-
> bounces at lists.sourceforge.net] On Behalf Of Iago Toral Quiroga
> Sent: 24 April 2008 15:58
> To: Jean-Paul Calderone
> Cc: buildbot-devel at lists.sourceforge.net
> Subject: Re: [Buildbot-devel] Limitations using buildbot for building a
> huge amount of projects

<sniped some text>

> We need to build around 200 projects, and we want to do each of them in
> several machines too, having a waterfall view of the build results for
> each of the slave machines we have use to build the project. For
> example:
> http://build.gnome.org/libxml2/
> That's project libxml2 building on a Debian/Sid slave machine (first
> builder) and a Red Hat slave machine (second builder).
> To achieve this we have one master per project, and one builder per
> slave machine. Then, in each slave machine we have a Build Slave
> instance per project. This way we have a nice waterfall view of the
> build results of each project (each master provides its own, only for
> the project it is building). So, we just added a main page that queries
> the state of each master instance, providing a summary for all the
> projects.
> If there is a way to achieve this using a single master instance I'd be
> more than glad to know about that, it would make my life way easier :)
<snipped rest of email>

Actually you can create multiple waterfalls within the same master and assign them different ports. For each web status you need to tell it to show a particular group, and make sure each of the schedulers that you want to display separately is assigned to its own group.

I've got about 60-70 builds running at work and I use this to be able to display separate status pages for each of the different branches. It means you can also have a page that displays the status of every builder.

To get this to have nice url's such as http://build.gnome.org/libxml2/, use apache's rewrite rules for the domain build.gnome.org.
RewriteRule ^/libxml/(.*) http://localhost:8010/$1 [P]

Assuming that within buildbot you set the web status for the group libxml2 to use port 8010 on the localhost.

The bigger trick will be the change sources. I'm not sure how to deal with not displaying the change sources from every project on the waterfall pages. I'm sure you don't want changes that affect only x appearing on y's page as well.

Someone else might be able to help with that part.

Darragh Bailey

More information about the devel mailing list