Build automation
From Wikipedia, the free encyclopedia
Build automation is the act of scripting or automating the process of compiling computer source code into binary code. This automated build is in contrast to a manual build process where a person has to perform multiple, often tedious and error prone tasks. It involves automating a wide variety of tasks that a software developer will do in their day-to-day activities including things like packaging binary code, running tests and deployment to production systems. The goal of this automation is to create a one-step process for turning source code into a working system. This is done to save time and to reduce errors.
Contents |
[edit] Types of automation
- Commanded automation such as a user running a script on the command line
- Scheduled automation such as a continuous integration server running a nightly build
- Triggered automation such as a continuous integration server running a build on every commit to a version control system.
[edit] Makefile
One specific form of build automation is the automatic generation of Makefiles. This is accomplished by tools like
[edit] Best practices
This article does not cite any references or sources. (December 2007) Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
This article or section seems to contain embedded lists that may require cleanup. To meet Wikipedia's style guidelines, please help improve this article by: removing items which are not notable, encyclopedic, or helpful from the list(s); incorporating appropriate items into the main body of the article; and discussing this issue on the talk page. |
- Keep the build file at the root of the project
- Use consistent style and conventions
- Don't Repeat Yourself (DRY)
- Provide good help
- Manage dependencies properly
- Use per-user properties to allow people to override defaults such as database logins or directory locations
- Keep the build self-contained
- Keep it all in source control
[edit] Build automation software
[edit] References
- Mike Clark: Pragmatic Project Automation, The Pragmatic Programmers ISBN:0-9745140-3-9
- The Buildmeister [1] - portal dedicated to build and release management
[edit] See also
- Unit testing
- Continuous integration
- Release engineering
- build daemons, automation of software package rebuilding