DevOps.yoga


A DevOps Wiki

View project on GitHub

This is content about Build tools.

List of Build Tools

Note: This tools list is currently sourced from, and thus linked to, XebiaLabs. Much thanks to them for their valuable DevOps Toolchest.

NameIconDescription
Maven Maven is a build automation tool used primarily for Java projects. The word maven means 'accumulator of knowledge' in Yiddish. Maven addresses two aspects of building software: First, it describes how software is built, and second, it describes its dependencies.
Gradle Gradle is a project automation tool that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy-based domain-specific language (DSL) instead of the more traditional XML form of declaring the project configuration. Gradle uses a directed acyclic graph ("DAG") to determine the order in which tasks can be run.
Grunt Grunt is a task-based command-line tool that speeds up workflows by reducing the effort required to prepare assets for production.
ANT Apache Ant is a software tool for automating software build processes. It originally came from the Apache Tomcat project in early 2000. It was a replacement for the unix make build tool, and was created due to a number of problems with the unix make. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects.
Make Make is a utility that automatically builds executable programs and libraries from source code by reading files called makefiles which specify how to derive the target program. Though integrated development environments and language-specific compiler features can also be used to manage a build process, Make remains widely used, especially in Unix.
Rake Rake is a software task management and build automation tool. It allows you to specify tasks and describe dependencies as well as to group tasks in a namespace. It is similar to SCons and Make, but it has a number of differences. The tool is written in the Ruby programming language and the Rakefiles (equivalent of Makefiles in Make) use Ruby syntax. It was originated by Jim Weirich.
Hudson Hudson is a continuous integration (CI) tool written in Java, which runs in a servlet container, such as Apache Tomcat or the GlassFish application server. It supports SCM tools including CVS, Subversion, Git, Perforce, Clearcase and RTC, and can execute Apache Ant and Apache Maven based projects, as well as arbitrary shell scripts and Windows batch commands. The primary developer of Hudson was Kohsuke Kawaguchi, who worked for Sun Microsystems at the time. Released under the MIT License, Hudson is free software.
Postman Postman lets you manually build up your test, which can then be run via GUI or CLI. In the cloud or on a raspberry pi. Latest addition is monitoring of actual uptime of services.
Packer Packer is free and open-source software for creating identical machine images or containers for multiple platforms from a single source configuration. It was written by Mitchell Hashimoto and became one of the products in his company Hashicorp's software toolkits as open-source proprietary-managed software. It is associated with the Vagrant container management tool, also written by Hashimoto.
UrbanCode Build IBM UrbanCode Build is a continuous integration and build management server optimized for the enterprise. It is designed to make it easy to scale the configuration and management of your build infrastructure and seamlessly plug into development, testing and release tooling.
CMake CMake is cross-platform free and open-source software for managing the build process of software using a compiler-independent method. It is designed to support directory hierarchies and applications that depend on multiple libraries. It is used in conjunction with native build environments such as make, Apple's Xcode, and Microsoft Visual Studio. It has minimal dependencies, requiring only a C++ compiler on its own build system.
NAnt NAnt is a free and open source software tool for automating software build processes. It is similar to Apache Ant, but targeted at the .NET environment rather than Java. The name NAnt comes from the fact that the tool is Not Ant.
Webpack Webpack is a module bundler for modern JavaScript applications. It takes the dependencies and generates a dependency graph allowing web developers to use a modular approach for their web application development purposes.
Open Build Service The Open Build Service (OBS) is a generic system to build and distribute packages from sources in an automatic, consistent and reproducible way. It makes it possible to release software for a wide range of operating systems and hardware architectures. The OBS reference server, which we use to build the openSUSE distribution, currently hosts 47,344 projects, with 435,173 packages, in 72,951 repositories and is used by 49,233 confirmed developers.
SCons SCons is an Open Source software construction tool that automatically analyzes source code file dependencies and operating system adaptation requirements from a software project description and generates final binary executables for installation on the target operating system platform.
Gulp Gulp is a build system that can improve how you develop websites by automating common tasks, such as compiling preprocessed CSS, minifying JavaScript and reloading the browser.
BuildMaster BuildMaster is an automated deployment tool, designed by the software development team, Inedo. It combines features to manage and automate processes primarily related to continuous integration, database change scripts, and production deployments. The tool is browser-based and able to be used “out-of-the-box”. Its feature set and scope put it in line with the DevOps movement, and is marketed as a “simple way for software shops to transition to and maintain a DevOps methodology.”
Buildr Buildr is an open-source build system mainly intended to build Java applications, but capable of doing much more. It gives the developer the power of a full-blown scripting language (Ruby) while writing his or her build scripts, much missed in XML-based building environments like Apache Ant or Apache Maven.
LuntBuild Luntbuild is a powerful build automation and management tool. Continuous Integration or nightly builds can be easily set using a clean web interface. Executed builds are well managed using functions such as search, categorization, promotion, patching, deletion, etc. It also acts as a central build artifacts repository and download area for your whole team.
sbt sbt is a build tool for Scala, Java, and more.
QuickBuild QuickBuild is PMease's build automation tool derived from LuntBuild. Like LuntBuild, QuickBuild is a powerful build automation and management tool. Continuous Integration or nightly builds can be easily set using a clean web interface. Executed builds are well managed using functions such as search, categorization, promotion, patching, deletion, etc. It also acts as a central build artifacts repository and download area for your whole team.
Jam Perforce Jam is an open-source build system developed by Christopher Seiwald of Perforce Software. It can be used as a replacement for make. Its primary feature is its ability to express build patterns in an imperative language which supports structured namespaces (similar to Pascal records) and simple lists.
MSBuild MSBuild, also called Microsoft Build Engine, is a build tool for managed code and was part of .NET Framework. Visual Studio depends on MSBuild, but MSBuild does not depend on Visual Studio. Visual Studio Application Lifecycle Management depends on MSBuild to perform team builds via the Team Foundation Server.
Broccoli A fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. Comparable to the Rails asset pipeline in scope, though it runs on Node and is backend-agnostic.
FinalBuilder FinalBuilder is Vsoft's build tool. With FinalBuilder you don't need to edit xml, or write scripts. Visually define and debug your build scripts, then schedule them with windows scheduler, or integrate them with Continua CI, Jenkins or any other CI Server.
Meister OpenMake Meister® delivers an accelerated Build Automation solution that decreases build times by over 50%, delivers 10 minute incremental builds, and supports over 10,000 builds per day using built-in server pooling.
Visual Build Visual Build is a 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 stored as XML to facilitate storage in version control systems.
Invoke Invoke is a Python (2.6+ and 3.3+) task execution tool & library, drawing inspiration from various sources to arrive at a powerful & clean feature set. Like Ruby’s Rake tool and Invoke’s own predecessor Fabric 1.x, it provides a clean, high-level API for running shell commands and defining/organizing task functions from a tasks.py file.
Azure DevOps The Azure DevOps Project presents a simplified experience where you bring your existing code and Git repository, or choose from one of the sample applications to create a Continuous Integration (CI) and Continuous Delivery (CD) pipeline to Azure.

Prev: Practices | Next: Glossary