Integrate Button Weblog

Archive for the 'Continuous Integration' Category

JavaRanch gives Continuous Integration 10 out of 10 horseshoes

Monday, September 10th, 2007

JavaRanch reviewed Continuous Integration: Improving Software Quality and Reducing Risk and gave it a “whopping 10 out of 10 horseshoes“.

From JavaRanch: “This is an excellent book and the website adds to it! [It] reinforced the book nicely because it was like a guru explaining his experiences. It also goes into much more detail than the book has room for on each topic. … Each chapter ends with questions to get you thinking about CI in YOUR process.”

Pictures from last week’s book signing at Barnes and Noble

Thursday, September 6th, 2007

It was great to see so many of you that attended the Continuous Integration: Improving Software Quality and Reducing Risk book signing this past Thursday at the Barnes and Noble in Reston, Virginia.

Continuous Integration

I had the pleasure of meeting old friends, colleagues and acquaintances along with many new people. I’m sorry if I wasn’t able to say hello to everyone, but thank you for attending.

Thanks again to Stelligent (my employer) and 5AM Solutions for hosting such a fun event.

Continuous Integration

CITCON Europe 2007 - Register Now

Friday, August 31st, 2007

The Continuous Integration and Testing Conference, CITCON Europe 2007, is fast upon us and I’m sure it’ll be another great one. This year it’s in Brussels, Belgium. I will be attending this year and hope to bring a group from the states to the event. I’m an alumnus of CITCON North America (The inaugural in Chicago, 2006 and the most recent in Dallas in April of this year).

citcon

CITCON follows an OpenSpace format which means there is no single speaker, per se. Instead, it’s an exchange of ideas based on an initial topic and agenda. It works amazingly well and you’ll learn a ton, especially with the caliber of people that attend a CITCON.

Other than your personal travel accommodations, attendance at CITCON is free. On Friday evening, there is an initial meet/greet and topic ideas are shared. Saturday is full of five one-hour sessions. Your brain will be mush by the end, so many get together for food and drink on Saturday evening. Because it’s on the weekend, many of the people that attend CITCON are very passionate about Continuous Integration and Testing. I always learn a lot when attending and I’m sure you will too. Register now! Space is limited to 100 registrants.

Continuous Integration book signing - join Andy, Steve and me for the signing and release party August 30th

Sunday, August 26th, 2007

If you’re a fan of Continuous Integration (and local to the Washington DC area) you’ll want to clear your calendar this Thursday evening, August 30th, to celebrate with Andy, Steve and I for our book signing of Continuous Integration: Improving Software Quality and Reducing Risk at the Reston, VA Barnes and Noble bookstore. I think both of my contributors will be there as well!

Book signing at Barnes and Noble (map)
with Paul Duvall (that’s me!), Andrew Glover, and Steve Matyas

bn-signing1851 Fountain Drive
Reston, VA 20190
Thursday, August 30th
7:30 - 9:00 p.m.

Immediately following the signing, Stelligent and 5AM Solutions are throwing a release party at McCormick & Schmick’s. So…if the book isn’t enough to get you out of the house, the complimentary drinks and appetizers should :)

Release party at McCormick & Schmick’s
Reston Town Center
9:00 - 11:00 p.m.

If you’re interested, please make sure to RSVP prior to August 28th. Oh, and feel free to spread the word, far and wide!

Continuous Integration clambake, Boston style

Thursday, August 23rd, 2007

If you’re planning on attending this year’s SD Best Practices Conference & Expo in Boston, then be sure to pencil in that you’ll be busy on Friday September 21st from 1:45pm to 3:15pm listing to me jaw on about how great CI is and how it enables teams to more easily monitor software quality.

This is a fun discussion with live coding and a CI process demo– we’ll take a look at various CI servers and inspection tools for both .NET and the Java platform. I hope to see you there! Please don’t bring any clams though.

Paul Julius blog

Tuesday, August 21st, 2007

For those of you keeping up with Continuous Integration happenings, Paul Julius, co-founder of the CruiseControl CI server, is now blogging at http://pauljulius.com/blog/. The main site is at http://pauljulius.com/

JavaLobby review of Continuous Integration

Monday, August 20th, 2007

Meera Subbarao recently posted a review at JavaLobby of the Continuous Integration book. As she says: “The author has gathered so much information in this book that it will help those of you who want to use CI or even those who have already been using CI. This book will definitely give you a solid foundation for using CI which is one of the most important team practices. With CI and this book as a guide to using CI, I assure you, your system will always be in a working state before and after integration.”

Have a read here.

Continuous Integration is NOT about the CI server

Saturday, August 4th, 2007

What the…?! There, I said it. Whew…now I feel better. Maybe this was a provocative blog title and is better said “Effective CI has little to do with your CI server”. Better?

Last year, in an Automation for the people article, I wrote:

“CruiseControl is the granddaddy of CI servers. It’s been available for over five years, and in many ways, the CruiseControl server has become synonymous with the practice of Continuous Integration.”

That a tool has become synonymous with a practice is actually a good and a bad thing. It’s good because there’s a name and an actual tangible thing that we can attach to this practice called “Continuous Integration”.

To be clear, a CI server…ummm, lemme see, it…it…builds your software and then notifies you when it’s done.

However, having a tool synonymous with a practice can be bad thing because people can get carried away with the various bells and whistles different CI servers provide. Don’t get me wrong, I’m a big fan of CruiseControl and other CI servers, but let’s not get lulled into thinking that the tool is what provides the practice. Vendors may want us to think this, but we’re smarter than this, right?

I will have done a disservice to readers of Continuous Integration if you were to believe that the most important facet of CI is the CI server itself. It just might be the most unimportant part of the practice of CI. In fact, as I indicate in the book, some high-performing teams don’t even use an automated CI server for their integration builds (they perform a manual synchronous integration build - which uses an automated build). If someone thinks that the difference between practicing effective and ineffective CI is tweaking the automated CI server to be “just right”, beware…you may be listening to either a theorist or a misguided practitioner. The most important part of the effective practice of CI is the development team’s daily practices (committing code often, keeping integration builds in the green and so on) and the fully automated build from a single source repository. Of course, there are a number of other practices (that we discuss in the book), but “Using a CI server ” is far down the list of importance.

Having actually implemented fully-functioning CI systems (not just the server) on many projects and platforms, I’ve found that installing and configuring the CI server (thanks to many of the great CI servers on the market) is typically one of the more trivial parts of the implementation.

Interestingly, I have found that when teams hear that a CI “server” is being installed, it can help instill or even encourage people to begin employing beneficial development practices that work well in a CI environment, but unless the team culture changes, it’s usually a short-lived gain.

I’ve included a full example of a CruiseControl configuration and a fully automated build (using Ant) with a small working Web application at IntegrateButton.com. Every week, I will add additional videos and examples to the site using different tools (e.g. Hudson in the upcoming weeks) and environments as this is a better and more timely medium than a book to share this information.

Just remember, don’t be the fool with the tool. You can employ CI with or without a CI server.

Practice 5: Write Automated Developer Tests

Wednesday, July 25th, 2007

Practice 5 of the book (which is the fourth practice in chapter 2) is Write Automated Developer Tests. It’s a high-level practice that covers:

  • Writing an automated test using an xUnit-based framework such as JUnit or NUnit
  • Committing these tests to a version control repository
  • Running these automated tests as part of an integration build with every checkin (using Continuous Integration)

This video example demonstrates using the JUnit test framework with Eclipse.

Useless facts about Continuous Integration book

Monday, July 23rd, 2007