CircleCI (https://circleci.com) offers this right now. We automatically partition your test suite and run it across multiple machines.
Except since it's in the cloud, you don't need to own 10 Mac minis to make this happen. And if you decide you want to split it 20 ways, not 10, you can do that in about 2 clicks.
The nice thing about Kochiku is that it is a free open source project whereas CircleCI is a paid hosted solution. If you have hardware available to use as workers on then Kochiku is free to use. There is a real cost to the time required to setup and maintain Kochiku but, at scale, within a larger company, this route can make sense.
I am sure CircleCI takes security very seriously but it also nice (and a requirement for certain companies) that with a self hosted CI server, that your source code does not leave the company.
I'm curious as to why Square would spend engineering talent on a distributed CI system when you can buy something like Jetbrains TeamCity that does what they wanted to do. This is not meant as a slam and I am also a developer who loves to build things but I would think Square and other companies for that matter would want to apply their limited engineering talents in solving bigger problems that grow the business.
Not looking for a flame war - just curious to get different perspectives.
It makes a lot of sense. I'm currently working on a large Rails app and we've felt a lot of pain with an off the shelf CI System (Jenkins) and the idea of writing our own CI has been mentioned a few times.
For Team City, here's the cost breakdown:
TeamCity Enterprise = $1,999
229 Build agents @ $299/each = $68,741
Total yearly license cost ~ $70K
This doesn't include the time that a team of developers will spend configuring the build and babysitting it during through the early growing pains of adopting a CI system. Also you'll probably still need a build/release engineering team to manage the server when you have a team of 100+ devs like Square does.
When you add it all up, building a custom CI setup makes a lot of sense. And I'm sure they grew it over time, with an initial version that was usable being completed in just a few months. What they've open sourced is the end result of spending that time.
When you really adopt testing as part of your culture, CI becomes totally critical so engineering should spend the time to make it a solid and viable solution.
One of the things i'm really loving about Square is the utilities that they are open sourcing that are not core to their business. I think this is great for the community.
When I was at Causes, we wrote a similar tool called Buffet (https://github.com/causes/buffet, pronounced like the investor) for running test cases in parallel on an arbitrary number of machines; dropped out total build suite time from ~20 minutes on a single machine to 2-3 minutes. We certainly didn't add the level of polish that Kochiku seems to have, though.
For distributed build, testing this is the best tool I've used: http://www.incredibuild.com/. Unfortunately, it is not open source.
Does anyone know of a free alternative to incredibuild with a similar feature set?
So now we've gone from adding an 'er' to everything and dropping the 'e' to using Japanese words and proper names for our products. And I was just going to iPost that to my iBlog.
[+] [-] pbiggar|12 years ago|reply
Except since it's in the cloud, you don't need to own 10 Mac minis to make this happen. And if you decide you want to split it 20 ways, not 10, you can do that in about 2 clicks.
[disclaimer: I work at https://circleci.com, if that wasn't already obvious]
[+] [-] statusgraph|12 years ago|reply
[+] [-] Aleran|12 years ago|reply
I am sure CircleCI takes security very seriously but it also nice (and a requirement for certain companies) that with a self hosted CI server, that your source code does not leave the company.
[+] [-] vscarpenter|12 years ago|reply
Not looking for a flame war - just curious to get different perspectives.
[+] [-] hkarthik|12 years ago|reply
For Team City, here's the cost breakdown:
TeamCity Enterprise = $1,999
229 Build agents @ $299/each = $68,741
Total yearly license cost ~ $70K
This doesn't include the time that a team of developers will spend configuring the build and babysitting it during through the early growing pains of adopting a CI system. Also you'll probably still need a build/release engineering team to manage the server when you have a team of 100+ devs like Square does.
When you add it all up, building a custom CI setup makes a lot of sense. And I'm sure they grew it over time, with an initial version that was usable being completed in just a few months. What they've open sourced is the end result of spending that time.
When you really adopt testing as part of your culture, CI becomes totally critical so engineering should spend the time to make it a solid and viable solution.
[+] [-] boomzilla|12 years ago|reply
Yes, there's a lot of common patterns that can be factored into a library/system, but the little details will end up biting you at the end.
[+] [-] j_s|12 years ago|reply
edit: rephrase
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] joeblau|12 years ago|reply
[+] [-] aguynamedrich|12 years ago|reply
[+] [-] derwiki|12 years ago|reply
[+] [-] aiiane|12 years ago|reply
[+] [-] Aleran|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] Aaronneyer|12 years ago|reply
[deleted]
[+] [-] polskibus|12 years ago|reply
[+] [-] nobodysfool|12 years ago|reply