From the monthly archives:

August 2008

Securing the CruiseControl JMX interface

August 29, 2008

(image taken from Roney’s photostream)
Jim Huang commented on the CruiseControl series page about an issue on his project:
We integrate our build with automation deployment and test running. The problem we have is how to prevent people from clicking the force build button by mistake. Anyone clicking the button will lead to another QA deployment. There [...]

Read the full article →

All build tools began with Make

August 28, 2008

(image taken from slashcrisis’ photostream)

Today I’m just going to share a pet hate: poor target names in build files. Yes, that’s scratching the surface: there’s plenty of other things to get wrong in your build. But today’s gripe is target names. Here’s an anonymised example from a real project:

<?xml version=”1.0″ ?><project name=”project” default=”tests” basedir=”..”>

<target [...]

Read the full article →

Drive Mappings: argh!

August 27, 2008

(image taken from William Hook’s Photostream)
There’s several things that are the root of all evil. Money, love of money, and mapped drives on Windows operating systems. This is especially true in a deployment context. Your deployment system should accept UNC paths for the servers it wants to know about.
Using Windows is one [...]

Read the full article →

Oh lord, It’s hard to parse build files

August 27, 2008

Nat Pryce left a comment on my post A real BuildRefactoring, in the wild:

IntelliJ can do some simple refactorings of Ant scripts: extractproperty, rename target, rename property, etc.
But refactoring of Ant and Nant is very difficult because they have noconsistent syntax or semantics. They are just quick hacks that havegrown kludge by kludge into inconsistent [...]

Read the full article →

Five Software Build Patterns

August 26, 2008

(image taken from Laineys Photostream)

We live in a world of patterns. Some very clever people have been identifying and naming patterns in software for a long time now. In build and deployment, we’re just beginning. Here’s five:

Aslak Hellesøy kicks things off with Immediate Test Failure Notification. If you’ve ever had to [...]

Read the full article →

Microsoft Web Deployment Tool

August 25, 2008

(image taken from Scoble’s Photostream)
Microsoft are now offering a deployment tool to assist with the scary XCOPY-style deployments of .NET web applications. I’m old enough to have used XCOPY in DOS. It always seemed a little backwards to me: invest millions and millions in a language and platform to take on Java, and [...]

Read the full article →

Continuous Integration – in a Box

August 24, 2008

Chad Wooley just announced “CI in a box” – a wrapper script that gets CruiseControl.rb bootstrapped and running. Cinabox joins a stable of ready-to-run CI systems:
Buildix which comes with the original CruiseControlCI Factory which sets up CruiseControl.NET
All split down the various Java, .NET and Ruby factions. I wonder if there’s a Hudson [...]

Read the full article →

Your version control system is not a file system

August 22, 2008

If you find yourself needing to check binary files into your Version Control System, something isn’t right. Your VCS is optimised for tracking changes to source files. When you have multiple revisions of a source file, the VCS has stored the original file and the changes between revisions. This is good.
When you [...]

Read the full article →

Roll back a submitted Perforce changelist easily and quickly

August 19, 2008

(image taken from goldberg’s photostream)
One of those key features of a version control system is being able to take a change that you submitted (maybe 5 minutes ago, maybe last week) and vaporize it. Like it never existed.
Actually, doing that is hard, but you can apply a change that is the exact mirror image [...]

Read the full article →

Evil Red Build Status Bear

August 18, 2008

Among other cool radiators at Last.FM.
Link

Read the full article →