Number 2 on the Joel Test is “Can you make a build in one step?” At Noumenal the answer to this (on this date, but not for much longer) is still “No”.
The necessary explanation that accompanies all such “No” answers is, in this case, “we’ve been building small-to-medium web applications that didn’t force us into automated builds, and we didn’t know any better”.
Well now we’re building enterprise grade multi-platform, multi-language, high-availability, n-tier architecture, distributed applications, integrated via asynchronous messaging services and exposing open-standards web service APIs. We damn-well need a one-step build now.
In moving from here to there, step 1 is easy: Write down exactly what you do for each of the steps of your current build.
That’s it. Nothing more to it.
Each of the steps are themselves really easy. (They must be otherwise you’d already have another way of doing it.) Scripting each step individually will be easy too — once you know what they are. All that then will remain is a script to run each of the mini-scripts in order.
Sounds simple doesn’t it.