Continuous Integration with Hudson

At Caxiam Group, we have a very dedicated team of designers, developers and even a few of those people without titles who keep everything working fluently… It’s a shame they don’t get cool titles.

Over the past month and change, I have been tasked with streamlining our development process in the hopes of improving our efficiency, not our velocity. Fortunately we seem to have an abundance of work 😉 What we may not have enough of is the time required to manage a large scale operation of sustainable growth.

One of the tools available to us that I believe will greatly benefit the team (at least the technical part of it) is the adoption of an integration server. Currently, we have the ever convoluted method of manually moving and sprinkling files, directories and configurations across a wide array of hardware to make our sites tick.

Stealing a great idea from my peers, I have proposed we employ Hudson as a continuous integration server. We already have some testing going on (way to go Joe) and Hudson will be able to nicely integrate with these test.

Today, I was given the opportunity to present a whole case/showcase of how Hudson can care for all (or most) of our toils with heavy automation. Having seen Brian’s presentation multiple times allowed me to breeze thru some of the hairiest parts of setting a continuous integration server. The only unexpected (and it was pleasant) surprise was the wealth of plugins available for Hudson.

Without any trouble, Hudson plugins provide the ability to send chat messages (thru Jabber), post integration related events to a google calendar, email team members and even integrate with any number of versioning systems. Extensive information about this is be located at Hudson’s Wiki but I think its way easier to just download and install Hudson.

I am running on top of Jetty and just exploring all the features is both fun and empowering. It will certainly free up much needed resources from Caxiam Group’s Team so that we can focus on taking on more and bigger projects in due time.

Depending on the interest of my team, I will be looking further into the more ‘unusual’ features Hudson can provide such as tracking, collecting and aggregating all kinds of metrics on the performance of our build/deploy process, etc. Time will tell…

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s