[Buildbot-devel] Building from multiple repos

Bruce Stephens bruce.stephens at isode.com
Sun Mar 1 15:42:27 UTC 2015


On 01/03/2015 14:58, Charles Lepple wrote:
> On Feb 24, 2015, at 4:46 PM, Jamie Lawrence <Jlawrence at anchorfree.com> wrote:
>
>> We are in the process of setting up a bunch of BB builds. Because of
>> historic choices leading to technical debt that won¹t be unwound
>> immediately, several of these builds need to pull from two repos, one git
>> and one subversion. I¹m trying to make this work.
>>
>> If I¹m reading the docs[1] correctly, it looks like the CodebaseGenerator
>> is *not* what I need - that appears to be for mapping multiple possible
>> repos containing the same codebase to the same named thing. Is this
>> correct?
> I have not completely set this up myself, so take this with a grain of salt: I think that is one potential use, but a project can be built from multiple codebases, as described here:
>
> http://docs.buildbot.net/0.8.7p1/manual/concepts.html#source-stamps
>
> In the link you cited, there are multiple URLs mapping to multiple codebase names: http://docs.buildbot.net/0.8.7p1/manual/cfg-global.html#cfg-codebaseGenerator
>
> Note that the URLs in the example imply that each component is stored in both Mercurial as well as Git. It sounds like you don't need that at the moment, but it could support a future repository migration. Regardless, you should be able to have one codebase name for your git repository, and a second name for subversion.
>

I agree it should be possible. Our builds are made from a dozen or so 
repositories (with varying branches). Mostly for historical reasons
the information comes from XML files so I've got master.cfg reading 
those and constructing suitable codebases and so on. As it
happens all the repositories are git, but I don't see anything requiring 
that that be so. I think you just need to make sure that
the codebases have unique names, but that should be easy enough.

One thing you lose (AFAICS, anyway) is the ability to ask to build the 
latest source. You can request rebuilds of previous builds (there's
a button for that), but I don't see a way to get the latest build 
(except by waiting for it to happen, obviously). (That's not a particular
problem for us, but if after getting everything else working don't be 
surprised if that feature seems not to work.)





More information about the devel mailing list