Automated Build Studio

Posted by Matt | Filed under , ,

As a developer, I’ve worked on my fair share of projects.  Some were quite small, and some were very, very large.  When you have a large project with many million lines of code, building the projects can become a large task.  My company has one flagship product.  This product’s build procedure is quite complex.  It includes:

  • Retrieving the latest source from our source control tools
  • Translating all of our resources into 13+ languages
  • Editing the build number and build date in a few key header files
  • Building the main product and up to 10 derivatives
  • Building the product installations
  • Copying the completed distributibles to the appropriate locations (network drives, FTP)
  • Archive the source code

In the past, each build would occupy about 30 minutes of my time as I manually performed each of the above steps.  However, after visiting SDWest last year, I learned about a product called Automated Build Studio by AutomatedQA.  The idea intrigued me.  Can I automate 30 minutes of my life?

After downloading the trial version, I set out to create an ABS macro that would do all of the aforementioned steps.  It took a few days, but it worked.  And it works well. Now, getting a build going takes only 10 seconds of my time (honestly).  We have now been using it for the past 8 months. 

ABS can interoperate with many development tools:  Microsoft Visual Studio (6, 2003, 2005, 2008), Perforce, InstallShield, InstallAware.  And if there’s something that it doesn't work with, it can run basic DOS commands, batch files, executables, or VBScripts.  Our entire translations process was built on a handful of AWK and KSH scripts.  I was able to port them over to VBScript and now they run inside ABS (and much faster… for AWK and KSH, the process took over an hour, but for ABS/VBScript, the same process takes only 20 minutes).

I can get a build started by a few clicks on a Windows Vista Sidebar gadget.  And I don’t need to watch the build machine anymore to see if the build is done:  when the build is done, I get an email to my BlackBerry with a log of any errors encountered.  It’s so easy to stat a build now that I can have someone else start a build.  Now the company doesn’t come to a halt if I’m on vacation.  I can also queue up build requests.  Previously, I pretty much had to be there to start the second build once the first was done.  Now, I can just queue up any additional builds and they’ll run sequentially.

The only thing that is not automated yet is the dispatching of the changelist email.  This requires some time in Lotus Notes and I haven’t figured out how to automate that yet.  The only issue I’ve run into so far is that it’s zipping macro cannot handle archives as big as we need.  So I need to launch WinZip instead to archive our source code.

During these poor economic times, we had to lay off a developer.  As a consequence, I took over some of his duties.  One such duty (which I as unaware of beforehand) was spending about 3 hours a week creating custom installs for some smaller products in a very manual manner.  I let ABS take over.  After 2 days of creating a new ABS macro, these custom installs are now created in 5 minutes.  On top of that, I am not the one to initiate the build process:  instead, someone else copies assets for the install to a network drive, ABS notices the new files, automatically launches the build, and emails that other person when their new install is ready.  I am now 100% out of the picture.

Basically, ABS has allowed me to spend less time on build management, and more time in development.

If the build process for your product is more than just opening the project in Visual Studio and pressing F7, then I’d recommend taking a serious look at Automated Build Studio.  It’s a fantastic tool, and it’s definitely worth it’s price.

Comments are closed