In my search for an effective tool for managing builds and releases, I’ve decided on QuickBuild. It’s basically a commercial version of LuntBuild, with some nifty management features added in.
One of the nicer things about it is the ability to set properties for an app, and have them propagate to different configs for that app (dev, QA, staging, UAT, production), while having the ability to override certain values (say, DB username and password, etc…).
Like CruiseControl, it works well for continuous builds when integrated with your source control system. Subversion and QuickBuild work together quite nicely. Though, unlike CruiseControl, QuickBuild allows for “on-demand” deployments, and it’s promotion management features make it a cinch to migrate code from dev -> QA -> staging -> produciton.
I’m currently adding my apps to QuickBuild, and I’ve found it to be really easy to setup, use, and manage. The end goal is to automate as much of the release process as possible, allowing for more predictable, repeatable, and consistently “problem-free” production releases.
Plus, it certainly would be nice to be able to release apps remotely via a web-based interface. Now, if I can just figure out how to access QuickBuild from the golf course…