Case Study: IPSwitch and Automated Build Studio
There are several steps involved in building and releasing the many Ipswitch products. These steps involve everything from the initial pull of source code from SourceSafe to the final step of copying the installation files to a testing area and burning the escrow CD.
In the past, these tasks were handled by multiple people on multiple computers in multiple environments. We needed a tool that would allow us to initiate a build process that would continue through every step and run these steps in a single, stable environment.
Since we were already using the AutomatedQA testing tool, Test Complete, we looked into Automated Build Studio. Interestingly enough, we were about midway through development of our own web based configuration manager that would do what Automated Build Studio would already do.
After some simple tests of the demo version of Automated Build Studio, it was apparent that it would do everything that we needed in an automation tool.
Automated Build Studio has features to do just about everything we need. If there isn't a direct plug-in for a step in our build process, we simply use the Execute Program operation and that takes care of it.
When I first downloaded the demo, I created a macro without ever consulting the online help. In fact, to this day, the only thing that I have needed to consult the help on was the command line parameters for AutomatedMacroPlayer.
Speaking of AutomatedMacroPlayer… there's a nice feature. With the command line utility, we are able to run a build macro at a command line so that users not familiar with the studio are able to run a batch file that will complete the process.
We have created a few build macros for two of our products that are separated into modular pieces. Each piece handles a set of related operations that make up a single portion of the build. For example, there is a single macro for pulling the C++ source code and compiling the source.
We also used a portion of the web-based build system that we were developing. We wanted a way for users to logon to the system and request and/or schedule builds from their desktop. We modified the system we were developing so that it would allow the user to create product settings, which would run selected macros to build a product. The user can select which macro(s) to run for each build. When the request is processed, the requester's e-mail is sent to the macro as a variable. Once each macro is built, an e-mail is sent back to the requester with the build result with full output log attached.
Automated Build Studio has saved and will save countless hours in our build process. What once was performed on multiple machines by multiple people taking multiple hours is now performed in a matter of minutes by one person making a simple request on the intranet.
One of the other major benefits is the ability to control the environment where the build is created. One of our policies here at Ipswitch is to create an Escrow CD at the time of product release. This CD is a copy of all of the source code required to build a duplicate of the release version of the product. In the past, we would copy the source from the multiple computers, recreate the build, install the product and compare the output with the release version. This was very time consuming and in most cases took more than a few days to recreate a product. With the Automated Build Studio in place, we have created a final step in the build process that prepares a data folder on the build machine that includes everything needed to create the Escrow CD. Since the escrow folder is created at the same time the build takes place, we can ensure that the source on the CD is a duplicate of what was used to create the release version of the product.