<!-- The article goes here, in GitHub-flavored Markdown. Feel free to add YouTube videos, images, and CodePen/JSBin embeds -->
Build is a version of software program. The term is used in reference to a program that is still in development. Build automation is the process of automating the creation of a software build and the associated processes including: Compiling computer source code into binary code, packaging binary code and running automated tests. Build automation software automates commonly performed tasks in the software development process.
Build is automated when the steps to creating a software are repeatable, require no direct human intervention and can be performed at any time with no information other than what is stored in the source code control repository. Build automation software often integrates with software testing products, version control systems, IDEs, bug tracking tools and PaaS providers.
Historically, build automation was accomplished through 'makefiles'. Today, there are two general categories of tools for build automation:
## - Build automation utility:
Its primary purpose is to generate build artifacts through activities like compiling and linking source code.
## - Build automation servers:
They are general web based tools that execute build automation utilities on a scheduled or trigger basis; continuous integration server is a type of build automation server.