Automated Build Scenario
John, a workaholic build master, used to perform builds of his project manually. Every time the
development team wanted to create an official build, John had to stay late and go through the build
process step by step. It was tedious work and did not make the best use of John's time or skills.
Finally, John decided to use AnthillPro3 to automate the entire build process. In AnthillPro, John can
configure the location of the sources and the exact steps that will be performed during a build. This
tells AnthillPro how to retrieve the sources from the source code repository, how to generate a unique
identifier for the build, how (and whether) to label the source code repository, how to run the build
script(s), how to publish the results of the build, etc. Every aspect of the automated build is configurable
within AnthillPro; from the exact commands that are to be executed by AnthillPro to the parameters that
are passed to those commands to the environment settings that AnthillPro will ensure are present when
executing those commands.
John can even configure AnthillPro to call out to any third-party tools such as an automated test tool,
a code scanning tool, an obfuscation tool, or any other tool. AnthillPro can call the third-party tool,
request that it run on the specified source code or binary, and then gather any results including reports
and publish them along with the build results.
Not only can John configure in detail the build process, he can also configure the machine or machines
on which that build should run. Because AnthillPro3 uses a central server and agent architecture, all
builds are distributed builds. When configuring the project in AnthillPro3 John will be able to configure
an Agent Filter that will be responsible at build time for selecting the agent(s) that will run the build.
The Agent Filter can be configured to always select a particular machine (agent) or it can be configured
to select an agent at build-time based on user specified properties such as operating system, number of
CPUs, type of CPU, system memory, environment settings, and more.
In addition to providing a history of all builds, AnthillPro3 also provides a real-time view of any
running build. This real-time view informs the user with what steps have already been executed and the results
of those executions, as well as which steps are currently being executed. Any execution logs and output from
steps that have already executed or are currently executing is made available to the user via a web interface.
Now that John has configured AnthillPro to perform automated and repeatable builds of his project, he attaches
a schedule to the configuration. In this way, John can easily set-up nightly builds that not only build the project,
but also run automated unit tests as well as a smoke test. Of course, John, or anyone with the specified permission
will be able to kick off new builds of the project via the AnthillPro dashboard at any time (in addition to the scheduled builds).
After that, well, John left the office and rediscovered something called 'rush hour'.