At my new place of employment (okay, so it’s been a few months already — time flies!) we recently decided to put a continuous integration server in place. We had started with cruise control because a company we partnered with already had it setup and in place. Cruise control has never been the most user-friendly and easy to use server and so we set out to find another one.
Before you think this is a review of a bunch of integration servers, I’ll just say it’s not and get that out of the way. We didn’t really have the time do a thorough review of every server out there. We just needed an integration server that was easy to setup and run. Luckily we found it when we tried out Bamboo from the folks over at Atlassian. We are already using Jira and Confluence in house so it also made sense to just get most of our communication tools from one vendor. It was extremely easy to get going and to integrate with our Subversion repository. Its unit test run integration seems to work extremely well, also. We know we aren’t using all of its functionality but as we have time and new requirements pop-up I’m sure it will get more extensive use (abuse) in our shop.
The thing that struck me, however, was just how many vendors there are that have continuous integration server products. The ones that we found were Parabuild, Pulse, Bamboo, Anthil, Cruise Control, Team City, and Gauntlet (from Borland). I know there are some others such as Continuum and Luntbuild but I didn’t really even have them on my list.
I guess I look at this and see two things. One, the market is extremely saturated. Some of these products are probably not going to see a lot of adoption. These generally aren’t expensive products and so you have to sell a lot of them to justify even having a few full time developers and QA engineers on the product. The second is that this shows just how much adoption there is for continuous integration and testing in Java development shops nowadays. I think this is a great thing because it means more and more developers will get exposure to the concept of unit testing and continuous integration. I still see too few developers that have exposure and experience with this concept.
I think next I’ll come back to more discussions about hiring woes and some recommendations for developers that are out looking for a new job.