Transferring files from slaves, was RE: [Buildbot-devel] running a command if another fails?

Nick Trout nick at rockstarvancouver.com
Wed May 4 20:16:47 UTC 2005


> On Behalf Of Brian Warner
> That's what I did on the Trial tests, to retrieve the contents of
> _trial_tmp/test.log . I've thought about adding a 'retrieve file' step
> that
> would transfer a file from the buildslave to the master and then add
the
> contents to a LogFile object, but 'cat file' does almost exactly the
same
> thing, so there didn't seem to be much of a point.

I think this would be a pretty useful feature. If say, I wanted to
compile the target on a slave and then record information about the
build, e.g. time, size of executable, map file etc, on the master. The
master might record all the details from different slave jobs. The slave
would probably run a script to collect information and then pass it back
as one parcel.

You might build the executable on one slave and then process data for
the executable on another (to run the processes in parallel), but you
don't want to have to go to each machine to get information about this.
I haven't used them yet, but I assume you could tie the process together
with interlocks to synchronise the build process. 

I could transfer data pretty easily with a network mapping over the LAN
but then that just adds another layer of complexity setting up public
folders etc. And how do I synchronise it all this way? (well I suppose I
can send out a remote command from the master to the slave to tell it
what to do and where to put it).

What might be nice is a build step which creates a "build archive" where
you could put information, e.g.
[path]/builds/build_YYMMDD_HHMM/<my_info>. Files transferred back by the
slaves would be placed into this directory. At a later date you might
have a reporting tool which processes this data and presents it on a web
page. This would be very project specific though, but Buildbot might
provide a framework to do this.

Nick





More information about the devel mailing list