[Buildbot-devel] Buildbot newbie question on complex setup

Dmitry Nezhevenko dion at dion.org.ua
Sat Apr 28 22:05:02 UTC 2012


On Sat, Apr 28, 2012 at 12:06:54PM -0700, Richard Offer wrote:
> But this is what I need to piece together
> 
> 	the linux64 build is product master package

> 	the linux32 and windows (on dedicated slaves) builds need to build
> 	and their results (RPMs, MSIs) need to be passed to the linux64
> 	build factory

> 	the linux64 build then needs to start a final job on another agent
> 	(running VMware Studio) to take all the pieces and package them
> 	into an OVF.
> 
> Obviously the linux32 and windows builds should be in a BuildSet - but I
> can leave that for now…
> 
> What is the best way to share "artifacts" between the various build
> factories ?

Do you need to build linux32 and windows and only then start linux64 with
access to artifacts from two other builds? How these build are "matched"?
Probably you want to build same VCS revision for all three builds, right?

I think that this is not possible "out of the box" with just editing
master.cfg. I can propose followed:

1. Both linux32 and windows should use FileUpload step at the end of build
   to publish artifact to master. You should use some well-known directory
   name on master that may contain revision id from VCS. For example
   /srv/builds/$REVISION/

2. Once it'll work, you can try to write custom scheduler that will
   watch for changes in this directory and once two artifacts will be
   available, trigger linux64 build. You can pass some URL's of artifacts
   to this build from scheduler.

It's not so hard as it sounds. As about watching, you can try to use
something like inotify to avoid polling. Also instead of watching, you can
try to subclass or write more advanced version of Triggerable scheduler
that will "fire" a build once both "linux32" and "windows" build perform
their Trigger step.

Hope this helps.

PS. It's pretty easy to trigger buildbot buidlds from Jenkins jobs and
vice versa. So if you are trying to migrate from one system to another, it
can be done step by step.

-- 
WBR, Dmitry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://buildbot.net/pipermail/devel/attachments/20120429/42e63dce/attachment.bin>


More information about the devel mailing list