[Buildbot-devel] Sharing files (or other info) between slaves

Greg Ward gerg.ward+buildbot at gmail.com
Thu Jun 28 14:53:02 UTC 2007


On 6/27/07, I wrote:
> I'm setting up a buildbot for my company, which inherently requires a
> multiplatform build.
[...]
> For a couple of reasons, I would prefer to only checkout code once on
> a Linux buildslave and then transfer the source tree to a Windows
> buildslave.
[...]
> The "obvious" way to do this is to tar up the source tree on slave1
> (Linux) and drop it somewhere that an HTTP or FTP server can see, then
> on slave2 (Windows) have a build step that fetches the file and
> unpacks it.  But that means I have to write a build step for slave2
> that runs
>
>  curl http://slave1/build/source-tree.tar ...
>
> which means that slave2 has to "know about" slave1.

One possibility occurred to me: use FileUpload/FileDownload to
transfer the names of the buildslaves back and forth.  I.e. on the
Linux buildslave, do the equivalent of

  hostname -f > /tmp/blah

and then use buildbot's FileUpload to send that to the buildmaster.
On the Windows buildslave, use FileDownload to fetch the hostname of
the Linux buildslave, and from that construct the URL to the source
tree tarball.

It's roundabout, but so far the only way I can think of for
buildslaves to communicate without sending 200 MB tarballs twice and
without hardcoding each other's hostnames.

Any better ideas?

Greg




More information about the devel mailing list