Mar 13, 2009  –  April: Minneapolis: Build Engineer Bootcamp & CITCON

On this blog when we talk about developer testing we have an ongoing assumption that you're going to use continuous integration in both senses of the phrase: you're going to check-in frequently and you're going to have an automated system like CruiseControl running your tests.

But, perhaps surprisingly, many teams have as much trouble getting the automated system up and running as they do in writing the tests in the first place. The problem is their build. They have a system that is sufficient for assembling their software but that isn't ready for the demands of an agile team, demands like continuous integration, unit tests, functional testing, software metrics, etc.

If you have this problem then you should take a look at the Build Engineer Bootcamp that we have scheduled for Minneapolis in April to coordinate with CITCON, the Continuous Integration and Testing Conference. These two events should pair very nicely: attend the bootcamp to learn the basics, then attend CITCON to delve into the state of the art.

Hope to see you there!

Feb 17, 2009  –  Cross-browser testing with SafariWatir and FireWatir

I've written up my account of how I spent my time at Elisabeth Hendrickson's Open Source Test Automation Tool Love In. My goal was to have a single script using Watir to drive both Safari and Firefox. With a bit more work I'd like to have the same script driving Celerity. I like the idea of a continuous integration setup where the Celerity tests run first for fast feedback and then the tests run in the browser to ensure compatibility.

Nov 21, 2008  –  CruiseControl 2.8 Released

2.8 is now available for download.

Along with a number of bug fixes and enhancements (release notes) there have been a number of significant below the surface changes that should be invisible out of the box but will be a GoodThing:

  • Java 5 required to run: this allows us to update the code to more modern Java and to take advantage of the libraries that are part of Java 5 but not Java 1.5. (Of course you can still compile your projects with JDK 1.4.)
  • Upgraded Jetty: along with the upgrade we are also exposing the Jetty configuration files to allow more extensions to the default behavior.
  • Updated to Servlet API 2.5 and JSP API 2.1
  • Specify Log4j config file: there is now a command-line switch (-log4jconfig) to specify the Log4j configuration file. Importantly, this can be either in the .properties format or the .xml format. The .xml format is more verbose (no surprise) but also allows more configuration options. From the Log4j tutorial:
"The properties file does not support some advanced configuration options like Filters, custom ErrorHandlers and a special type of appenders, i.e. AsyncAppender. ErrorHandlers defines how errors in log4j itself are handled, for example badly configured appenders. Filters are more interesting. From the available filters, I think that the level range filter is really missing for property files."

In addition to these change there quite a few little hygiene cleanups that made me happy.

Apr  9, 2008  –  CruiseControl 2.7.2 Released

CruiseControl 2.7.2 is available for download.

Lots of bug fixes, lots of changes to the Dashboard.

New plugins:

See detailed release notes here.

Mar 12, 2008  –  Register for CITCON Denver

CITCON Denver is just around the corner, April 4th and 5th. This the 3rd annual CITCON North America event, the previous years having been in Chicago (2006) and Dallas (2007). CITCON events have also been held in London (2006), Sydney (2007) and Brussels (2007).

For those who haven't heard about it CITCON is the Continuous Integration and Testing CONference, an open spaces (or "unconference") event that attracts an energetic and enthusiastic crowd of CIT practitioners from around the US, Europe and Asia. If you've never been to an open spaces event you can think of it as the best part of a normal conference -- the hallway conversation -- dialed up to 11!

You can read about past CITCONs on the wiki and then register today. But hurry, there are already 120 people registered and only 30 more registrations will be accepted!

If you can't make it to Denver then you might want to plan ahead by registering now for CITCON Melbourne in June or CITCON Amsterdam in October. Or maybe even all three!

Mar  3, 2008  –  Webinar: Making the Business Case for Continuous Integration and Testing This week on Wednesday March 5th I'll be giving a webinar on Making the Business Case for Continuous Integration and Testing. This webinar is a bit different than previous ones I've given on CIT. I wanted to address this topic because I've talked to a number of people at places like CITCON who believed that CIT was the right thing to be doing but they were inexplicably (to them) unable to convince others that continuous integration and the automated testing that goes with it were something worth investing in. So to try and help people I've put together what I see as the most compelling information and also some advice on how to tailor your case based on specific situation in your company. Following the slide portion of the webinar I'm going to answer questions from the audience. In addition to questions about the slides I'm also interested in hearing from people who've encountered obstacles in adopting CIT and I'll try and provide specific suggestions for getting around the problems. If you're interested in this material you can register for this webinar today.
Jan 27, 2008  –  Continuous Integration at JaSST'08 Tokyo

I'm sitting here in SFO waiting for my flight to Tokyo. I'll be speaking this week at JaSST, the Japanese Symposium on Software Testing. This will be a bit different from my normal talks on CI because I'll be focusing on the benefits of CI for testing groups rather than my normal focus on developers. And there will be translation into Japanese which makes for a very different presentation experience. But I'm very excited about giving this talk because Continuous Integration is less well known in Japan than in Europe, Australia or the US, so it will be fun to be bringing the message to a new audience.

Nov 16, 2007  –  Configuring CruiseControl the CruiseControl Way

Configuring CruiseControl the CruiseControl way from ThoughtWorks Studios presents what should be a standard practice. Checking your cruisecontrol configurations into version control and having cruisecontrol bootstrap with them.

Now I could see it getting tricky if you have multiple build machines, but it seems like that would be pretty easy to handle as well by using different config files for different machines, or something similar. That might violate the DRY principle, so it would be good to think a little more about it. How do others deal with this?

Jul 10, 2007  –  CITCON Sydney Registration At 100!

I'm very excited that with two weeks remaining before the conference we've reached the 100 mark for registrations for CITCON Sydney. This is our fourth CITCON event but our first in Australia, so it is great to see so many people registered. We'll take up to 150 so if you're interested in attending, it's not too late to register. The conference will be July 27th and 28th, Friday night and then all day Saturday.

Btw, if you're not familiar with the Open Space conference format you might want to read this description. If you're still not sure if this format or event is for you, you might want to see what people have posted about past CITCONs on the web, or read the feedback from Dallas earlier this year.

Jun 22, 2007  –  CruiseControl 2.7 Released

The recent 2.7 release of CruiseControl sees CC join the modern age with a completely new web application called the dashboard. The dashboard provides an attractive web 2.0/ajax interface, a widget based extension system, and a bunch of new features like updating your CC configuration via the web. The old reporting application is still there -- meaning all the 3rd party tools still work -- so there is no reason not to update and check out the new features. Enjoy!

Jun  6, 2007  –  Are You Mad at Your CI Build?

Reading Paul Duval's blog entry I found him making a comparison I use frequently: "CI provides you with a mirror of your software under development." His point is that if you find yourself getting mad at the build you might want to check yourself.

If you don't like what you see in the mirror, do you blame the mirror or do you start thinking about spending more time at the gym?

May  4, 2007  –  Open space conference format Rocks This weekend I had attended the first open space format conference CITCON. Before attending CITCON this year, I was little unsure about the format of the conference. Now I am totally convinced that this is the way to do lots of conference. It was invigorating experience to be meeting so many of my peers in the business and also surrounded by lots of thought leaders in the field of continuous integration and testing and share their experiences.   more »
Apr 27, 2007  –  CITCON Dallas, Open Spaces, Conversations First CITCON sign at AATCCI'm in Dallas now and most of the really hard work is done: we have space, we have sponsors, we have people coming. There are signs up, rooms, chairs, flip charts. We have drink tickets, food vouchers, and a continually replentished break station. What is left are some fiddily details like putting together almost 100 bags to handout to the attendees with sponsor materials, gifts and t-shirts. That leaves plenty of energy and attention leftover to spend on nervous anticipation...

  more »
Apr 16, 2007  –  Webinar: Continuous Integration and Testing Register now to attend a free webinar on how to implement continuous integration and testing. April 18th, 9-10 am PDT.
Apr 11, 2007  –  Final Days to Register for CITCON Dallas 2007

This Friday the 13th is the final day to register for CITCON, the Continuous Integration and Testing Conference. CITCON Dallas/Ft. Worth will be held Friday April 27th and Saturday April 28th at the American Airlines Training and Conference Center which is right outside the Dallas/Ft. Worth airport in Texas.

CITCON is different from a standard conference in a couple of ways:

  • It is free, but scheduled for a Friday night and Saturday. This means the people who attend are the people who are passionate enough about the topic to give up some of their personal time, rather than those people who are able to have their companies pay for it.
  • It is an open spaces event. So rather than going from talk to talk and hoping to hear something of interest the attendees build the agenda, with each topic an interactive discussion.

If you've ever attended a conference and left feeling that the best part of the conference was the hallway conversation, then you should understand the appeal of the CITCON format. (At least this is the appeal for me!)

Past CITCON events (Chicago & London) had a fantastic mix of people, including CI and testing tool makers, very experienced authors and consultants, new and experienced Agile practitioners. CITCON Dallas promises more of the same.

Hope to see you there.

Mar  6, 2007  –  CITCON Dallas Registration Open

We are proud to announce that registration is now open for the next Continuous Integration and Testing Conference, CITCON Dallas on April 27th & 28th. Space is limited to the first 100 registrants and attendance is free. Registration is on-line and while it is open until April 13th we do expect to fill all the available slots, so sign-up soon to reserve your spot.

The conference will be following the same Open Spaces (or unconference) format as the 2006 CITCON in Chicago and London. These prior CITCON drew enthusiastic practitioners at all levels of experience, all looking to share what they knew and to learn what they could. We're looking for more of the same in Dallas.

Please help spread the word about CITCON and we look forward to seeing you there!

Paul Julius
Jeffrey Fredrick

Mar  5, 2007  –  CruiseControl 2.6.1 Released

Last week CruiseControl 2.6.1 was released. In this release there are several bug fixes but also an odd little plug-in that seeks to address a common problem with inter-project dependencies. Read on to learn about the new Veto plug-in and how it can help keep your projects building in the correct order.

  more »
Jan 12, 2007  –  CruiseControl 2.6 Released (Finally!) It took much longer than I had hoped, but CruiseControl 2.6 has been released, and there are some big changes. The release notes cover all of them but there are a few I wanted to highlight...   more »
Sep 18, 2006  –  Final Days to Register for CITCON London 2006

CITCON London registration will be closing this week, it is just hard to know if we will hit the deadline of Friday September 22nd or the cap of 120 people first! At last count we have 85 people signed up and if history is a guide the remaining spots will go fast.

For those who aren't aware CITCON is the Continuous Integration and Testing Conference, a free open spaces (or unconference) event on continuous integration and the testing that goes with it.

Given the open spaces format it is impossible to predict what the exact session topics will be but a sampling of the topics (and notes) from the CITCON Chicago event from earlier this year is available on the wiki. Also available are some photos, feedback, links to related blog entries and more... More than enough to be convinced that you should sign up today!

Aug 20, 2006  –  CITCON London 2006 Registration Open


We are proud to announce that registration is now open for the next Continuous Integration and Testing Conference, CITCON London 2006 on October 6 & 7. Space is limited to the first 120 registrants and attendance is free. Registration is on-line.

The conference will be following the same Open Spaces (or unconference) format as the very successful Chicago edition back in April 2006. The Chicago CITCON drew an enthusiastic group of practitioners, all looking to share what they knew and to learn what they could.

We would appreciate your help in getting the word out. Please blog/post/email/chat about CITCON London 2006!

We hope to see as many of you there as can make it.


Paul Julius
Jeffrey Fredrick
Chair-people, CITCON London 2006

Jul 14, 2006  –  Put Your CC config in Version Control

I got fed up with updating the 20 step instructions on our wiki for configuring a new cruise control machine so I wrote a script and checked it in to CVS. Obvious really.

  more »
Jul  6, 2006  –  Seeking Brave Alpha Testers (CC 2.6)

Despite releasing CruiseControl 2.5 little more than 2 months ago we are looking to get 2.6 out in July. The minor (2.6) vs. trival (2.5.1) version bump reflects some big changes:

  • replace Xalan with Saxon. this should both increase the speed of the web application and reduce if not eliminate the dreaded OutOfMemoryErrors.
  • use an Ant-style launcher instead of setting the classpath in the CC start script or in the manifest.

With these changes we know there will be issues to shake out so we're seeking alpha testers willing to have a go with the latest and greatest and give us feedback on the mailing list.


Are you up for it?


ps: As a side-effect of the switch to Saxon CC versions 2.6 and later will require JRE 1.4 or later (though you can still build projects under 1.3).

 –  Martin Fowler's "Continuous Integration" Updated Just today I learned that a couple of months ago Martin Fowler updated his "Continuous Integration" article with lessons learned from the last 6 years. (Thanks to Jerome Lacoste for the pointer.)
Jun 27, 2006  –  Want to Hear My Continuous Integration Talk This Week?

I'll be giving the talk twice tomorrow June 28th via WebEx (register here), and then again at the Better Software Conference on Thursday at 3 pm under the title The Power of Continuous Integration with Automated Unit Tests. Giving the talk in front of a live audience is a lot more fun because of the interaction with the other people, but I've been told we have over 100 people signed up for the WebEx already, so perhaps the QnA session will be a bit more lively than most.

 –  Karl's Tinderbox Corner

Hi, I'm Karl Pauls and my team runs Agitator on a Bonsai / Tinderbox system. I'll be sharing the continuous test and continuous integration techniques that we use.

To get right to it, here is our basic Agitator / Tinderbox setup courtesy of our Product Manager, Nicole Pauls:

  more »
Jun 22, 2006  –  Integrating Agitator and CruiseControl

Aaron Rhodes has posted a good message detailing how to integrate test results from Agitator into the CruiseControl html email and the web reporting application on the Agitar forums over here. The directions detailed are of obvious interest to people using Agitator but perhaps less obviously can serve as an example for other people looking to add custom information to the CC feedback. Enjoy!

Apr 27, 2006  –  CruiseControl 2.5 Released

CruiseControl 2.5 has just been released and it has two huge bug fixes:

  • Updated Xerces and Xalan jars to fix memory leak (CC-426)
  • ProjectWrapper: Fix problem where forcing a build while build is running will effectively kill the worker thread leading to all projects queued but not building (CC-431). Patch by John Lewis.

Along with those bug fixes there are a few new plugins:

  • ClearCaseBaselinePublisher: New publisher for use with ClearCase UCM (CC-414). Submitted by Kevin Lee.
  • LDAPMapper: Email mapper that uses an LDAP lookup to determine user email addresses (CC-413). Submitted by Esa Laine.
  • Maven2SnapshotDependency: New sourcecontrol (CC-438). Contributed by Dan Rollo with fixes by Jerome Lacoste.

So what are you waiting for? Go get it...

Apr  9, 2006  –  testtools for Pythonists While still basking in the afterglow of CitCon I read a message by fellow attendie Kumar McMillan introducing the new open source (LGPL) python module testtools. Kumar said:
The main focus is fixtures but it also has some helpers for creating continuous integration scripts. This was all designed around subversion post-commit hooks and there is even a handler for you to run a SimpleXMLRPCServer.
Documentation of the 7 submodules is here.
Mar 31, 2006  –  Continuous Integration at Better Software Conference

If you're going to be at the Better Software Conference & Expo (and why wouldn't you?) and you want to be infected with the Continuous Integration meme then do stop by my talk titled The Power of Continuous Integration with Automated Unit Tests on Thursday June 29th.

Mar 27, 2006  –  Clicker Trained by Continuous Integration

Kathy Sierra's Clicker trained by our email blog entry just closed a synaptic loop for me. When I give my CI/CA talk I try and make the point that developers quickly become addicted to the positive feedback of that "build successful" email, that even this little reward, given quickly enough after the behaivor you want to encourage, is enough to reinforce the habit. When I spoke to Alistair Cockburn about this at the Jolt Awards he even used the phrase clicker training to describe it. But now reading Kathy's entry something new springs to mind -- in that same CI/CA talk I make the point that the real Return On Investment in developer testing comes when the test fails... and that's an intermittent reward!

So if you want to adopt developer testing as part of your standard practices make sure you're using Continuous Integration. In the beginning it is the "build successful" messages you'll be looking for, but for the long term you'll be hooked on those times the lamp goes red.

Mar 15, 2006  –  Jolt Award and Alistair Cockburn I went down to SDWest tonight for the Jolt Award ceremony where Agitator was one of the finalists. We won the award for our category last year but this year we had to be content with a productivity award which is still a nice honor -- yay us. (Winner in our Testing Tools category was VMTN Subscription from VMWare -- yay them.) While at the post-ceremony VIP bash (no, not sure why they let me in) I was introducted to Alistair Cockburn. I was pleased to meet him because I quote him a lot in my "Continuous Integration, Continuous Agitation" talk that I've been giving all over the place (and I've got pictures to prove it).  more »
Mar 13, 2006  –  Project Dependencies Using Ant On the CruiseControl user mailing list there was another instance of the FAQ "how do I build by dependent projects", and Joe Schmetzer linked to his recently posted article on Project Dependencies Using Ant. Neat technique and worth a read if only as an illustration of clever use of common Ant scripts.
Feb 28, 2006  –  CruiseControl 2.4.1 Released Our first attempt at a timeboxed release, version 2.4.1 is now available for download. The most noticeable difference in the release will be the new (and hopefully improved) index.jsp in the reporting application, but there are some new plugins as well: ExecBuilder, Maven2Builder, PropertyFileLabelIncrementer, and WeblogPublisher.
Feb 20, 2006  –  CC, CI and CA in Asia-Pacific I still haven't gotten around to writing up a summary of my trip from December but this Friday I'm heading out again, this time going West instead of East. This'll be a bit longer trip, starting with a week in Japan and then with a second week in Austrialia and New Zealand. For the most part I'll be speaking on the same topic that I did on the last trip: Continuous Integration and Continuous Agitation. This talk went over very well eacy of the half-dozen or so time I gave it in Europe so I'm excited to be able to offer it on two new continents! If you live in these countries check these cities and dates and maybe you can join us.  more »
Feb 16, 2006  –  Sharing Pre-configuration After I posted my blog entry on Template Projects with CruiseControl 2.4 Greg Gipson asked an interesting question on the CruiseControl users mailing list about sharing pre-configuration information across multiple CruiseControl servers that turns out to have an elegant answer (if XML Entities can be considered elegant).  more »
Feb 10, 2006  –  Template Projects with CruiseControl 2.4 At the end of January CruiseControl 2.4 was released. Among all the new features and bug fixes one of the most interesting to me is the idea of using plugin preconfiguration to create template projects. By coincidence over the last few weeks Kevin has been doing major surgery on our build system to make everything more standardized and logical, so it turned out to be a good time for us to try out this template project idea of ourselves.  more »
Feb  8, 2006  –  Invitation to Continuous Integration and Testing Soiree This message is being sent to announce an upcoming event for everyone interested in continuous integration and the type of automated testing associated with it. (Entry updated Feb 16th with dates and website.)  more »
Aug 17, 2005  –  CruiseControl Goodies We recently completed a new release of Agitator and Dashboard so I've had a bit of time to spend on my secret double life as a CruiseControl contributor. The obvious news is that we are nearing the release of 2.2.2 with lots of yummy new features (latest release candidate available here) but less obvious -- but more exciting to me -- are the neat 3rd party tools that are popping up. Here's a few that I know about...  more »
Jul 20, 2005  –  Shipping It I love to read, to learn new things or even new ways of communicating old truths. An ancillary joy is then handing out the books I've read to other people, and then seeing their reaction. It is always nice if the recipient enjoys what they read, but it is a really special feeling when you give someone a book and it changes the way they think and act. So I'm really pleased to have just finished reading a book that I know I'll be handing out time and time again, and that's Ship It!, "A Practical Guide to Successful Software Projects".  more »
Nov  4, 2004  –  CruiseControl 2.2 Last week the CruiseControl community released version 2.2 of this excellent continuous integration/build tool. This release adds scads of new features but at least as interesting, at least to me, are the stories behind some of the release highlightsmore »
Sep 27, 2004  –  More Unlikely Heroes In the current Better Software cover article I describe our continuous integration process and I hope to persuade readers to adopt the practice of automated continuous integration. I don't know of any other agile process that is as easy to adopt or that will yield such immediate and significant benefits. But while my article focuses on CruiseControl I wanted to make two points:  more »
Sep  2, 2004  –  Pragmatic Project Automation Ever since I bought into Martin Fowler's line that "Imperfect tests, run frequently, are much better than perfect tests that are never written at all" I've had the ideas of developer testing and automation inexorably linked in my mind. And of course like any sort of believer I'm always on the lookout for tools to help convince and convert my more reluctant friends. How thankful I am then to Mike Clark for his new book, Pragmatic Project Automationmore »
Feb 17, 2004  –  CruiseControl Turns 2.1.5 Earlier this month our favorite Continuous Integration tool, CruiseControl, became available in version 2.1.5. While there are lots of good things in the release, there are two features that we've put to immediate use with good results: a multi-project status page and simple inter-project dependencies. One of the features that defined the 2.1 release was the ability to support multiple projects in the same instance of cruisecontrol. Having multiple projects opens up a lot of possibilities but, until now, there was never a good way to get an overview of the status of all the builds. Another obvious wish with multiple projects is to have the successful build of one project trigger the build of another. The new BuildStatus "source control" allows you to do exactly that. We've put this feature to work by triggering one of our longer system tests only when our unit tests are passing.