On Mon, Jun 4, 2012 at 6:18 PM, Les Mikesell <[email protected]> wrote: >> I suppose the gist of my question is: >> If I have 50 different applications that are all sitting in the same >> repository, and I want each of these applications to build separately >> as a job, do I really need to do 50 different checkouts of the the >> repository? > > You don't _have_ to, but normally, the point of a build is to build a > component or application, not a bunch of unrelated stuff. So for most > people it doesn't make any sense to check out anything but exactly the > revision you want at exactly the top-level directory containing the > code you want to build. And jenkin's repository pollers will then > correctly track new commits and build the right things automatically > when you do it that way.
When I was talking about repositories and checking them out, I did mean only the trunks/master branches, never the whole repo. > It rarely makes any sense to check out a whole repository that is > likely to contain tags/branches, etc. that are unrelated to your > current build. If you'd go back to my first email and substitute "repository" by "trunk" maybe my emails make more sense? Our apps don't need the full repositories, they just need the trunk/master. But still, the rest of my email(s) stay the same: we have many apps sitting in the same repository. On Mon, Jun 4, 2012 at 6:18 PM, Les Mikesell <[email protected]> wrote: >> I.e. the overhead of having each of the 5 repos reproduced for each of >> the 100+ jobs would be immense. > > Again, I don't understand "reproducing" a repo. Why does the build > server ever care about anything except a checked-out workspace of > exactly the project/revision it is building? Aren't you doing > checkouts over a network already? Trunk. We'd need a trunk/master checkout of the 5 repos for each job. >> What I described in my email is exactly what we do: >> 1. make a super folder >> 2. check out the 5 repos in there >> 3. all the apps in those 5 repos now build > > Is all of this somehow connected inseparably? Normally, builds would > be oriented towards versions of specific components and then > applications containing them, and the versions of different parts > would be allowed to advance at different rates. Yes, inseparable. Each of the repositories holds part of a huge codebase that is used in many of the applications all over the various repositories. Sure, we don't really like it this way, but we have no say in the matter, we can't change the way it is set up. I definitely understand that -as Slide and you both say- this makes it rather hard (impossible?) to make easy distributed builds, but for now we're looking at a single computer with 2 VM's on it, that might help for now... - bram
