Build Automation - Advanced Build Automation

Advanced Build Automation

Advanced build automation offers remote agent processing for distributed builds and/or distributed processing. The term "distributed builds" means that the actual calls to the compiler and linkers can be served out to multiple locations for improving the speed of the build. This term is often confused with "distributed processing".

Distributed processing means that each step in a process or workflow can be sent to a different machine for execution. For example, a post step to the build may require the execution of multiple test scripts on multiple machines. Distributed processing can send the different test scripts to different machines. Distributed processing is not distributed builds. Distributed processing cannot take a make, ant or maven script, break it up and send it to different machines for compiling and linking.

The distributed build process must have the machine intelligence to understand the source code dependencies in order to send the different compile and link steps to different machines. A build automation solution must be able to manage these dependencies in order to perform distributed builds. Some build tools can discover these relationships programmatically (Rational ClearMake distributed, Electric Cloud ElectricAccelerator), while others depend on user-configured dependencies (Platform LSF lsmake)

Build automation that can sort out source code dependency relationships can also be configured to run the compile and link activities in a parallelized mode. This means that the compiler and linkers can be called in multi-threaded mode using a machine that is configured with more than one core.

Not all build automation tools can perform distributed builds. Most only provide distributed processing support. In addition, most solutions that do support distributed builds can only handle C or C++. Build automation solutions that support distributed processing are often make based and many do not support Maven or Ant.

An example of a distributed build solution is Xoreax's IncrediBuild for the Microsoft Visual Studio platform or the open-source CMake. These may require particular configurations of a product environment so that it can run successfully on a distributed platform—library locations, environment variables, and so forth.

The deployment task may require configuration of external systems, including middleware. In cloud computing environments the deployment step may even involve creation of virtual servers to deploy build artifacts into.

Read more about this topic:  Build Automation

Famous quotes containing the words advanced, build and/or automation:

    Only conservatives believe that subversion is still being carried on in the arts and that society is being shaken by it.... Advanced art today is no longer a cause—it contains no moral imperative. There is no virtue in clinging to principles and standards, no vice in selling or in selling out.
    Harold Rosenberg (1906–1978)

    ... in spite of everything, I still believe that people are really good at heart. I simply can’t build up my hopes on a foundation consisting of confusion, misery, and death. I see the world gradually being turned into a wilderness, I hear the ever approaching thunder, which will destroy us too, I can feel the sufferings of millions and yet, if I look up into the heavens, I think that it will all come right, that this cruelty too will end, and that peace and tranquillity will return again.
    Anne Frank (1929–1945)

    Besides black art, there is only automation and mechanization.
    Federico García Lorca (1898–1936)