Build automation

Build automation

Build automation is the act of scripting or automating a wide variety of tasks that a software developer will do in their day-to-day activities including things like:
* compiling computer source code into binary code
* packaging binary code
* running tests
* deployment to production systems
* creating documentation and or release notesThis automated build is in contrast to a manual build process where a person has to perform multiple, often tedious and error prone tasks.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.

Advantages of build automation

* Improve product quality
* Reduce boring jobs
* Eliminate dependencies on key people
* Have history of builds and releases in order to investigate issues
* Save time and money - Because of the reasons listed above. [ http://www.denverjug.org/meetings/files/200410_automation.pdf ]

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.

Makefile

One specific form of build automation is the automatic generation of Makefiles. This is accomplished by tools like
* GNU Automake
* CMake
* imake
* qmake
* Apache Ant

Requirements of a build system

Basic requirements:
# Frequent or overnight builds to catch problems early [ http://freshmeat.net/articles/view/392/ ] [ http://www.ibm.com/developerworks/java/library/j-junitmail/ ] [ http://buildbot.net/trac ] .

Optional requirements: [ http://www.cmcrossroads.com/content/view/12525/120/ ]
# Generate release notes and or other documentation such as HTML help pages.
# Build status reporting
# Test pass or fail reporting
# Summary of the features added/modified/deleted with each new build

Build automation software

References

* Mike Clark: "Pragmatic Project Automation", The Pragmatic Programmers ISBN:0-9745140-3-9

ee also

* BuildBot
* Continuous integration
* Release engineering
* Unit testing

External links

* [http://horizonguy.wordpress.com/2008/06/30/best-practice-checklist-for-build-automation/ Best practices in build automation]
* [http://www.viewtier.com/support/articles/build_server_capacity_planning.htm Capacity Planning]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • List of build automation software — Build automation involves scripting or automating the process of compiling computer source code into binary code. Below is a list of notable tools associated with the build automation process. Contents 1 Make based tools 2 Non Make based tools 3… …   Wikipedia

  • Automation (disambiguation) — Automation is the operation of machinery without human supervision. Automation may also refer to: Computing *Build automation, the use of managed make tools *Business process automation, streamlining business operations with software *Electronic… …   Wikipedia

  • GNU build system — GNU logo The GNU build system, also known as the Autotools, is a suite of programming tools designed to assist in making source code packages portable to many Unix like systems. It can be difficult to make a software program portable: the C… …   Wikipedia

  • Building automation — can also refer to Build automation, the practice of programmatically compiling software programs. A Building Automation System (BAS) is an example of a Distributed control system. Building automation describes the functionality provided by the… …   Wikipedia

  • Business process automation — Business process automation, or BPA, is the process a business uses to contain costs. It consists of integrating applications, cutting labor wherever possible, and using software applications throughout the organization.DeliveryThere are four… …   Wikipedia

  • Software build — In the field of computer software, the term software build refers either to the process of converting source code files into standalone software artifact(s) that can be run on a computer, or the result of doing so. One of the most important steps …   Wikipedia

  • Visual Build — is GUI software for Windows that enables software developers and build masters to create an automated, repeatable process for software builds. It has built in support for integrating various development tools into the build process. Projects are… …   Wikipedia

  • Virtual lab automation — is refers to a category of software solutions to automate IT labs using virtualization technology. Virtual Lab Automation (VLA) solutions are available as on premise packaged software or as a cloud service.HistoryAkimbi pioneered the Virtual Lab… …   Wikipedia

  • ATS Automation Tooling Systems — Infobox Company name = ATS Automation Tooling Systems Inc type = Public genre = foundation = founder = location city = Cambridge, Ontario location country = Canada location = locations = area served = key people = Anthony Caputo industry =… …   Wikipedia

  • Test automation — Compare with Manual testing. Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”