Revolution Software's Bruno Sonnino
is a developer, author, consultant and trainer. Bruno develops utilities for
PCMag, which requires many different builds and deployment configurations.
Building and deploying a number of different projects proved to be cumbersome and
time consuming for Bruno so he turned to Automated Build Studio to automate this
process.
Overview
Bruno's main problem was not the build complexity itself, but the number of projects
that have to be built. "I develop utilities for PCMag and I have about 15 different
utilities to build. These utilities have periodic updates and must be distributed
in two different ways: as an install file and an update file. Another complication
is that sometimes I have to release a debug version for beta-testers and a release
version for download/update at the same time. Plus, all utilities have a help file
and must be versioned," said Bruno.
Choosing Automated Build Studio
Bruno has used AutomatedQA tools since MemProof, developed by Atanas Stoyanov. "I
have been a Delphi user since 1995, and try to follow what's new, interesting and
proven for Delphi development," said Bruno.
Deployment
The install file is deployed as an executable for users that have never downloaded
the utility. The update file is a password protected zip file and is used by the
update routine that is built into the utilities. The update routine uses a .dll
file, which is a different project and must be rebuilt when there is an update.
It consists of one executable and a .dll file that must be linked together.
Bruno said, "All of these variables make building projects manually a cumbersome
task that is prone to errors. It’s easy to add a debug main executable into a release
install file or add an out of date update .dll file to the final install. Having
automated builds assures that all builds are done right and they can be easily created
with one button click."
The Build Process
"A usual project has several steps. For example,
SurfSpeed, a surfing speed meter utility, has a main executable, a help
file and an update .dll file. The debug version uses MadExcept exception logging
to help me find errors and some conditional directives, including debug options
that are checked when compiling. The release version doesn’t use MadExcept and doesn’t
have debug info," said Bruno.
"The update file is another project, consisting of one executable and a .dll compressed
with UPX and built together in the .dll file."
"To build SurfSpeed, I must compile the main project with the right options, make
sure the help file and the .dll are up to date and build them if they are not, and
then pack it all in both install packages."
Using Automated Build Studio
Bruno said, "By using Automated Build Studio, I am assured that I am releasing the
right files every time and that all files are up to date and the options are right
for the release. Now, I am always sure that steps are not skipped. When a utility
has thousands of downloads, there is no better way to assure that they are correct."
Ease of Use
"It only takes one button click to build a project, there is no need to go to the
compiler, check the options, and run a bunch of different programs to create a build.
Also, I really liked the ease of use for multiple configurations of builds. You
can create a base project and configure the options for multiple build types or
SKUs," said Bruno.
Recommending Automated Build Studio
Bruno said, "Automated Build Studio is very easy to use and I highly recommend it
if you have a complex build process or have a lot of different product versions
to release, it really improves your build and deployment quality."