Scrum, Behavior Driven Development, Continuous Integration and Refactoring Tools for Agile Software Development

 

Open Source Continuous Integration Tools

 

Apache Gump

Gump is Apache's continuous integration tool. It is written in python and fully supports Apache Ant, Apache Maven (1.x and 2.x) and other build tools. Gump is unique in that it builds and compiles software against the latest development versions of those projects. This allows gump to detect potentially incompatible changes to that software just a few hours after those changes are checked into the version control system. Notifications are sent to the project team as soon as such a change is detected, referencing more detailed reports available online.


Bitten

Bitten is a Python-based framework for collecting various software metrics via continuous integration. It builds on Trac to provide an integrated web-based user interface


Build Brigade

The Build Brigade is an effort to automate discovery and reporting of Gnome build errors and to make testing of the development version easy for everyone.


build-o-matic

build-o-matic is a simple continuous integration server which is easy to configure and customize.


BuildBot

The BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure. The guilty developer can be identified and harassed without human intervention. By running the builds on a variety of platforms, developers who do not have the facilities to test their changes everywhere before checkin will at least know shortly afterwards whether they have broken the build or not. Warning counts, lint checks, image size, compile time, and other build parameters can be tracked over time, are more visible, and are therefore easier to improve.


CABIE

Continuous Automated Build and Integration Environment. Cabie is a multi-platform, multi-cm client/server based application providing both command line and web-based access to real time build monitoring and execution information. Cabie builds jobs based upon configuration information stored in MySQL and will support virtually any build that can be called from the command line.


CCNetConfig

CCNetConfig allows you to create CruiseControl.NET configuration file by adding a new project and setting properties. CCNetConfig supports all standard configuration blocks and can be extended to support custom configuration blocks as well.


Cerberus

Cerberus is a lightweight and easy-to-use Continuous Builder software for Ruby. It could be run periodically from a scheduler and check if application tests are broken. In case of failed tests Cerberus sends notification to developers. Cerberus works perfectly both on Windows and *nix platforms and supports popular version control systems like Subversion, Git, Darcs and Perforce. It also has many ways in publishing build results such as e-mail, jabber, Twitter, Campfire, IRC and RSS files.


Cradiator

Cradiator is a Windows (WPF) app that displays a summary of Continuous Integration (CI) project statuses. It is basically an Information Radiator for CI. Cradiator currently supports Cruise Control (Java, .Net, Ruby) and Team City.


CruiseControl

CruiseControl is a framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds.


CruiseControl.NET

CruiseControl.NET is an Automated Continuous Integration server, implemented using the Microsoft .NET Framework.


CruiseControl.rb

CruiseControl.rb is a continuous integration tool. Its basic purpose in life is to alert members of a software project when one of them checks something into source control that breaks the build.


Draco.NET

Draco.NET is a Windows service application designed to facilitate continuous integration. Draco.NET monitors your source code repository, automatically rebuilds your project when changes are detected and then emails you the build result along with a list of changes since the last build. Draco.NET version 1.5 supports builds using NAnt build tool or via Visual Studio .NET 2002/2003 solution files. Draco.NET can monitor Source Control repositories in CVS, Visual SourceSafe, PVCS, SubVersion, and others.


Flexmojos

Flexmojos provides first-class support for Flex and AIR development within Apache Maven. It allows Maven to compile, optimize, and test Flex SWF, Flex SWC, Air SWF and Air SWC. The main goal is to provide full support to all mxmlc/compc options. Major features: * SWF, SWC, AIR and Flex versions; * AIR signing and .air file generation; * RSL and caching framework support; * Modules support; * full implementation of MXMLC and COMPC options; * Flex 3 and Flex 4 * use FLEX-OEM-COMPILER - faster, less memory usage, no need of references to local drive; * compatible with several unit testing frameworks: FlexUnit, FUnit, asUnit, AdvancedFlex, fluint and FlexUnit 4 * html-wrappers generation * code generation using GAS3


Hudson

Hudson monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Hudson focuses on the following two jobs: 1. Building/testing software projects continuously, just like CruiseControl or DamageControl. In a nutshell, Hudson provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continoues build increases the productivity. 2. Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Hudson keeps those outputs and makes it easy for you to notice when something is wrong.


hudsonTracker - A Continuous Integration Monitor

This is a handy utility which monitors the status of Hudson (a Continuous Integration/Build engine) by parsing its RSS feed. hudsonTracker sits in your system tray, and displays notifications (and optionally plays sounds) when builds pass or fail.


Integrity

Integrity is an easy and fun automated continuous integration server. As soon as you push your commits, it builds, runs your tests, and makes sure everything works fine.


JCCTray

JCCTray is a utility for use with all flavors of CruiseControl Continuous Integration servers. Specifically it works with CruiseControl, CruiseControl.NET, CruiseControl.Rb. It provides feedback on build progress, and allows control over some of the server's operations.


JCruiseMonitor

JCruiseMonitor monitors the state of builds on your team's continuous integration server (CruiseControl/.NET/.rb, Continuum, Hudson or Bamboo), providing feedback through a set of devices including a tray icon, USB light and audible warnings.


Jenkins CI

Jenkinsis an extendable open source continuous integration server.


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.


Maven Flex Plugin

The Maven Flex Plugin (mvnflexplugin) is a Maven 2 plugin designed to enable continuous integration for Adobe Flex libraries and applications, and to benefit of the power of Apache Maven.


NUBuild

NUBuild is a command line .Net build tool that has been designed and developed keeping an individual developer in mind and also ease the continuous build and integration process.


R2Build

R2build system is a tool/framework to establish your daily build(or nightly build, or build automation, or continuous integration system) in a very easy way . It includes, but is not limited to, plug-ins for email notification, FTP, various installer packaging tool, Java/C++/Ant/Nant/.Net/Delphi/C++Builder, and various source control tools.


SecureCI

A VM containing a turn-key solution for continuous integration with source code control, build management, automated testing, security analysis, defect tracking, and project management, all using open source tools.


TestSwarm

TestSwarm provides distributed continuous integration testing for JavaScript


Xinc

Xinc is a continuous integration server written in PHP 5. It has built-in support for Subversion and Phing (and therefore PHPUnit), and can be easily extended to work with alternative version control or build tools.

 

Commercial Continuous Integration Tools

 

AnthillPro

AnthillPro brings together the responsiveness and agility of automation with role-based security, strict auditability, and traceability.


Bamboo

Continuous integration server.


Cascade

Cascade is a commercial software configuration management tool suite.


ElectricCommander

ElectricCommander is an automation platform for enterprise software build-test-deploy processes. ElectricCommander distributes individual jobs in parallel across multiple servers for faster throughput. It has an extensible, 3-tier architecture that can scale to manage any size project. ElectricCommander provides the reporting and visibility you need for compliance efforts and release planning, plus dynamic resource provisioning for either physical or virtual resources.


FinalBuilder Server

FinalBuilder Server is a powerful automated build and continuous integration server.


InstallAce

Commercial continuous integration tool.


MikeCI

MikeCI is a Hosted Continuous Integration Web-based service for software builds offering agile benefits to any development team. Using Amazon EC2 secure hosting your projects are backed up and process.


Nolio

Nolio is a software platform for automating the deployment, maintenance and management of web and distributed applications across the data center.


OpenMake Meister

OpenMake Meister provides an enterprise level continuous integration build server allowing for build loops to be triggered by an SCM Check-in Process with full workflow and build management processing.


Parabuild

Parabuild is a software build and release management system that helps software teams to release on time by providing them practically unbreakable release builds and Continuous Integration.


Pulse

Pulse is a continuous integration server that is simple to set up and easy to use while providing advanced features.


QuickBuild

QuickBuild is a continuous integration and release management server. It provides a central place to produce, deploy, test and release software builds.


TeamCity

TeamCity is a continuous integration and build management system.