Sunday, September 18, 2011

Continuous Integration

I will have to do a critical analysis as to why I do not blog more often, but I will save that analysis for another time.

STP Conference Fall 2011 is only about a month away.  I am actively trying to prepare.  I thought I would make an attempt to finish out my experiences from STPCon Spring 2011.  This blog post brings me to Session 702 - Turbocharge your Automated Tests with CI presented by Eric Pugh.

An interesting side note is that I mentioned Eric's name last Thursday when I noticed one of our development teams is implementing Solr.  From talking with Eric at the conference I knew he was an expert, so tossed his name out as a potential resource for collaborating on complex implementations and bottlenecks.

I must say as I recall, Eric was a poised presenter and really knows his stuff!

Continuous integration is something I am a novice at so Eric's presentation was a good one to attend.

He defined CI by using a quote from Martin Fowler - "A fully automated and reproducible build, including testing, that runs many times per day".  That makes great sense to me.

During the presentation Eric had the audience do an exercise where in just a few minutes of a discussion with the persons next to you find out how many non-obvious things we had in common.  The sad part is that since March I do not recall the true intent of the exercise, but what I liked was that it got the audience engaged.

Eric then did a live demonstration of his CI system.  Doing a live demonstration is always a challenge at these events and he did a great job.  I will admit I did not understand all of the components, but it did put things more into perspective for me.

Another key takeaway for me is that he mentioned that the results should be readily available and readable at a glance.  He even talked about places where flashing lights and lava lamps would ignite if a build ever failed.  There was even a photo of Agnes showing the team a gesture for breaking the build.

There was a ton of great information in this presentation.  I walked away from the presentation more informed and with a desire to learn more about how to best leverage CI.  Some of the automation that I do takes to long to execute so the tests do not run with every build.  Currently we run those nightly.  So I am encouraged to take a closer look at automation and push into the build process the automation layers that make sense.

You can find Eric's presentation here if you seek greater detail - http://www.opensourceconnections.com/oscshare/eric/Core%20Principles%20of%20CI_Session.pdf

I still have a ton to learn about CI.

One other great side effect of meeting Eric Pugh is that he provided me with some great constructive feedback on my Cucumber presentation.  I am new to giving presentations so I found it admirable that we was willing to kindly give me suggestions for improvement.  Eric did not even know me, but offered mentoring.  "Nice Bike" to Eric Pugh.  It was also nice to have a couple of cold beverages with Eric at the conference party at the WildHorse Saloon!