The build automation process involves automating tasks pertaining to software build, including, compilation of source code into binary code, packaging of the binary code and running the automated tests as the final procedure. The process helps in reducing down time, optimizing costs, and simplifying the overall development process. Given the growing global demand for rapid and continuous software development, a series of tools have been developed over the years to ensure a streamlined continuous integration framework. Build automation tools are broadly classified into two types, namely:
1. Build automation utilities
2. Build automation servers
The build automation utilities consist of a range of solutions, including, Gradle, Maven, Bazel, and Cmake. Their primary purpose is to generate software builds by compiling and linking of source code.
Build automation servers, on the other hand, comprises of continuous integration-based web servers, with instances including continuous management tools, and continuous integration tools.