Automated Build Tools

- 05.15

Open Source Tools for Java Deployment
photo src: www.oracle.com

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.


photo src: www.johnsoncontrols.com


Maps, Directions, and Place Reviews



Overview

Historically, build automation was accomplished through makefiles. Today, there are two general categories of tools:

Depending on the level of automation the following classification is possible:

  • Makefile - level
    • Make-based tools
    • Non-Make-based tools
  • Build script (or Makefile) generation tools
  • Continuous integration tools
  • Configuration management tools
  • Meta-build tools or package managers
  • Other

A software list for each can be found in list of build automation software.


Automated Build Tools Video



Build automation utilities

Build automation utilities allow the automation of simple, repeatable tasks. When using the tool, it will calculate how to reach the goal by executing tasks in the correct, specific order and running each task. The two ways build tools differ are task orient vs. product-oriented. Task oriented tools describe the dependency of networks in terms of a specific set task and product-oriented tools describe things in terms of the products they generate.


Dynamics 365 Build Tools - Visual Studio Marketplace
photo src: marketplace.visualstudio.com


Build automation servers

Although build servers existed long before continuous integration servers, they are generally synonymous with continuous integration servers, however a build server may also be incorporated into an ARA tool or ALM tool.

Server types

  • On-demand automation such as a user running a script at 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.

Introduction to Continuous Integration with Xamarin - Xamarin
photo src: developer.xamarin.com


Distributed build automation

Automation is achieved through the use of a compile farm for either Distributed compilation or the execution of the utility step. The distributed build process must have machine intelligence to understand the source code dependencies to execute the distributed build.


Create Automated Build in Docker Hub - YouTube
photo src: www.youtube.com


Relationship to Continuous Delivery and Continuous Integration

Build automation is considered the first step in moving toward implementing a culture of Continuous Delivery and DevOps. Build automation combined with Continuous Integration, deployment, application release automation, and many other processes help move an organization forward in establishing software delivery best practices.


Introduction to Continuous Integration with Xamarin - Xamarin
photo src: developer.xamarin.com


Advantages

The advantages of build automation to software development projects include

  • A necessary pre-condition for continuous integration and continuous testing
  • Improve product quality
  • Accelerate the compile and link processing
  • Eliminate redundant tasks
  • Minimize "bad builds"
  • Eliminate dependencies on key personnel
  • Have history of builds and releases in order to investigate issues
  • Save time and money - because of the reasons listed above.

Source of the article : Wikipedia



EmoticonEmoticon

 

Start typing and press Enter to search