Build automation is the act of scripting or automating various tasks that software developers often do in their daily activities, such as compiling source code into binary code, packaging binary codes, running tests, or deployment to various staging systems. There are many types of applications supporting the build automation and today I would like to introduce "CruiseControl".
In software engineering, continuous integration (CI) implements consecutive processes of applying quality control - small pieces of effort, applied frequently. Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it. CruiseControl is a continuous integration and build framework. It can be configured to have automatic email notification of build success and failure, and has plugins that can build a wide variety of programming languages and perform other useful functions. CruiseControl is written in Java but is used on a wide variety of projects. There are builders supplied for Ant, Maven and Xcode, and the catch-all exec builder that can be used with any command-line tool or script. Of course, CruiseControl works with many versions of control systems such as CVS, PVCS, Suversion, and ClearCase.
CruiseControl consists of three components
1. Build Loop (runs as a service/daemon): Core of the system, it triggers build cycles then notifies various listeners (users) using various publishing techniques.
2. JSP Reporting: Application allows the users to browse the results of the builds and access the artifacts
3. Dashboard runs as web application: Dashboard provides a visual representation of all project build statuses.
- Improve product quality
- Accelerate the compile and link processing
- Eliminate redundant tasks
- Eliminate dependencies on key personnel
- Have history of builds and releases in order to investigate issues
Where to get it
CruiseControl is available for download in three distributions: a binary .zip that's ready to run after expanding, a zip of source files and a Windows installer. You can download the latest version from here http://cruisecontrol.sourceforge.net/download.html