[Buildbot-devel] Multiple git steps and dependencies with different projects in a build
Jared Grubb
jared.grubb at gmail.com
Tue Jun 10 03:28:05 UTC 2014
Yes, ‘workdir’ is what you want, and this is the set of params I use:
Git(codebase=“Foo",
workdir=“Foo",
repourl=“….",
mode='full',
method='fresh',
progress=True,
branch=‘master')
It does look like ‘copy’ wont let you do multiple codebases, and that is a bug in my opinion. Mind filing a Trac for that?
> On Jun 9, 2014, at 13:50, Kay Hayen <kay.hayen at gmail.com> wrote:
>
>
>
> Hello Dan,
>
> Am 09.06.2014 20:24, schrieb Dan Kegel:
>> On Mon, Jun 9, 2014 at 11:13 AM, Kay Hayen <kay.hayen at gmail.com> wrote:
>>> While I could write a script that uses git clone, I would like to use
>>> three "Git" build steps, and benefit from the caching performed by
>>> Buildbot, when doing "copy" mode. I understand using one such step,
>>> changes the build into a directory that is a checkout.
>>>
>>> How to I refer to the other ones, i.e. how to find their checkouts on
>>> the slave, and what to set the git dir to, to use it for commiting and
>>> pushing changes.
>>
>> In general, you can't depend on that, since the latest checkout
>> might be on a different slave.
>
> I think you misunderstood me there. I don't mean from previous builds,
> but I mean from previous build steps.
>
>
> factory = BuildFactory()
>
> factory.addStep(
> Git(
> repourl='git at somehwere:repo1',
> mode='copy',
> )
> )
>
> factory.addStep(
> Git(
> repourl='git at somehwere:repo2',
> mode='copy',
> )
> )
>
> factory.addStep(
> Git(
> repourl='git at somehwere:repo3',
> mode='copy',
> )
> )
>
> Then I would like to run a script from "repo1" in "repo2" checkout, copy
> it's results into "repo3" workspace, commit, and push.
>
> I would need a method to access things there. In the last case, I would
> need a way to access the git checkout from "source".
>
> If I do as you say, I could after each step, move the checkout away to a
> safe spot, and refer to there. And in the last step, I could use my
> knowledge that "../source" is the git checkout.
>
> But it would be a 100% nicer, if there was a way, to specify the
> "source" and "build" names.
>
> The thing that makes me want to use Buildbot here, is that of course, it
> has that nice status overview, and the ability to keep git checkouts for
> the builders and update them incrementally, i.e. fast and without waste.
>
> As far as I know, having multiple different "git" repos in the "source"
> wouldn't be much of an issue, as git can handle that just fine.
>
> From looking at 0.8.8 source, I found "workdir" argument, but it has
> this in its code:
>
> # self.srcdir is where the VC system should put the sources
> if self.mode == "copy":
> self.srcdir = "source" # hardwired directory name, sorry
> else:
> self.srcdir = self.workdir
>
>
> Maybe I am doing it wrong, and should have multiple builders, one per
> repo, and them transferring data. But my means of data storage is "git"
> in this case.
>
>
> Yours,
> Kay
>
>
> ------------------------------------------------------------------------------
> HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
> Find What Matters Most in Your Big Data with HPCC Systems
> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
> http://p.sf.net/sfu/hpccsystems
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
More information about the devel
mailing list