Different CI Tools

From CitconWiki
(Redirected from Different CI Environments)
Jump to navigationJump to search

This session only touched on a small subset of the tools available. A larger non-comprehensive set is available on the CI Feature Matrix (originally version from codehaus.org).

We don't want to recreate that page here! Please don't try to make this a complete listing of possible CI tools.

This session segmented the CI Tool market very broadly in terms of price. The prices were based on this article by Joel Spolsky where he described the options for pricing: "...software is priced three ways: free, cheap, and dear." You translate those prices in terms of budget levels: Developer Budget, Manager Budget, Director+ Budget).

The notes here are based on rumor, innuendo and hearsay from other CITCON events except where actual users of the tool happened to be present.

Developer Budget (free)

Developers don't have budget authority so "developer budget" generally means open source. These are build centric tools

a) Hudson: Good for Projects when the number of projects under CI are less. When number of projects grow hudson might sometimes get hard to manage. Has a very good plug-in model. Easy to get started. Easy setup.

b) CruiseControl: Original Java version. Slowing down in popularity currently. CC.NET: Started as a .NET port of CruiseControl but has evolved quite differently since. Still going strong in the .NET world. cc.rb: Ruby people in the audience use this.

c) Lunt Build:

d) Run Code Run: defunct hosted CI service.

e) Build Bot: python based tool. Some users in the audience using it on a php project.

f) phpUnderControl: a repackaging of CruiseControl for php projects.

Manager Budget (cheap)

The Manager Budget is typically something a manager could charge to their credit card and then get reimbursed. These set of tools also fall under build centric tools.

a) Pulse: A cool tool from a 2-man shop. (Bummer that neither Jason nor Daniel made it! -Jtf)

b) Team City: Nicely integrated with IntelliJ. Builds your code before commit and commits only if the build is fine to the repository.

c) Bamboo: Has really nice graphs. Also available hosted as part of Jira Studio.

d) Quick Build: Commercial version of Lunt Build.


Medium Cost Tools

These are the tools which fall under the medium cost category and generally nobody sells tools in this category for reasons explained in the aforementioned Joel article:

"Notice the gap? There's no software priced between $1000 and $75,000. I'll tell you why. The minute you charge more than $1000 you need to get serious corporate signoffs. You need a line item in their budget. You need purchasing managers and CEO approval and competitive bids and paperwork. So you need to send a salesperson out to the customer to do PowerPoint, with his airfare, golf course memberships, and $19.95 porn movies at the Ritz Carlton. And with all this, the cost of making one successful sale is going to average about $50,000. If you're sending salespeople out to customers and charging less than $75,000, you're losing money."

(I'd argue the bottom limit these days is closer to $10,000 but the concept is still solid - Jtf)

Director+ Budget (expensive)

Enterprise tools. Security and audits are more of an issue. Often used for more than just building. These set of tools are extensible, scalable for thousands of users for thousands of commits and builds. Tools in this category can be used to do the entire release management.

a) AnthillPro: Dependency management built in. Aims to tie together everything from commit to release: Dev, QA, release management, and operations.

b) Cruise: Similar vision to AnthillPro

c) Build Forge: IBM's rational product. Work is underway to make it compatible with WSAD under the banner Rational Automation Framework.

d) Electric Commander:


Other CI Tools:

a) RTC (Rational Team Concert) Outcome of Jazz concert. Meant for enterprise agile projects.

b) MS TFS: Microsoft product. Team Foundation Server.

c) DB Deploy: Open Source tool for database change management. Someone said they use it for automatic build for SQL, PL/SQL.