CruiseControl

Last updated
CruiseControl
Developer(s) CruiseControl development team
Initial releaseMarch 30, 2001;22 years ago (2001-03-30) [1]
Final release
2.8.4 / September 15, 2010 (2010-09-15)
Repository
Written in Java
Operating system Cross-platform
Type continuous integration
License BSD-style license
Website cruisecontrol.sourceforge.net

In software development, CruiseControl is a Java-based 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. It allows one to perform a continuous integration of any software development process.

Contents

CruiseControl is free, open-source software, distributed under a BSD-style license. It was one of the first of its kind of software, [2] originally created by employees of ThoughtWorks to allow for continuous integration on a project they were working on. It was later extracted into a stand-alone application.

There is a version of CruiseControl for .NET called CruiseControl.NET (aka CCNet) and a version for Ruby called CruiseControl.rb.

The current version is 2.8.4, released in 2010.

Build loop

The build loop is designed to run as a daemon process, which periodically checks the revision control system for changes to the codebase, builds if necessary, and publishes a notice regarding the status of the software build.

Build reporting

CruiseControl provides two ways of reporting build status. The first (classic) reporting is the reporting JSP and the second is the dashboard.

Results JSP

The build reporting is designed to present the results of the CruiseControl build loop. It is based on a HTML report managed by a JSP page. The left side of the page displays whether CruiseControl is currently building a project, and provides links to the details of previous builds. The right side of the page presents the results of the build—including compilation errors, test results and details about what files have changed since the last build.

Dashboard

The dashboard was introduced in the 2.7 release. The dashboard is a web page to enable visualising the project build statuses. Previous project build results are colour-coded providing a snapshot of how the projects are doing at that moment. Users can hover the cursor over icons to see the name and information about the project. The 'Builds' tab of the dashboard shows all projects (colour-coded) sorted by name providing some more information.

Related Research Articles

Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not necessarily limited to:

<span class="mw-page-title-main">Apache Ant</span> Java software tool

Apache Ant is a software tool for automating software build processes which originated from the Apache Tomcat project in early 2000 as a replacement for the Make build tool of Unix. It is similar to Make, but is implemented using the Java language and requires the Java platform. Unlike Make, which uses the Makefile format, Ant uses XML to describe the code build process and its dependencies.

In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. Test automation is critical for continuous delivery and continuous testing.

<span class="mw-page-title-main">Continuous integration</span> Software development practice based on frequent submission of granular changes

In software engineering, continuous integration (CI) is the practice of merging all developers' working copies to a shared mainline several times a day. Nowadays it is typically implemented in such a way that it triggers an automated build with testing. Grady Booch first proposed the term CI in his 1991 method, although he did not advocate integrating several times a day. Extreme programming (XP) adopted the concept of CI and did advocate integrating more than once per day – perhaps as many as tens of times per day.

ITK is a cross-platform, open-source application development framework widely used for the development of image segmentation and image registration programs. Segmentation is the process of identifying and classifying data found in a digitally sampled representation. Typically the sampled representation is an image acquired from such medical instrumentation as CT or MRI scanners. Registration is the task of aligning or developing correspondences between data. For example, in the medical environment, a CT scan may be aligned with an MRI scan in order to combine the information contained in both.

Azure DevOps Server is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

AnthillPro is a software tool originally developed and released as one of the first continuous integration servers. AnthillPro automates the process of building code into software projects and testing it to verify that project quality has been maintained. Software developers are able to identify bugs and errors earlier by using AnthillPro to track, collate, and test changes in real time to a collectively maintained body of computer code.

The Softwell Maker is an environment development. Designer uses visual forms and reports (WYSIWYG), business rules, and visually representing other actions using flowcharts.

In software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.

Process Control Daemon (PCD) is an open source, light-weight system level process manager/controller for Embedded Linux based projects.

<span class="mw-page-title-main">Jenkins (software)</span> Open source automation server

Jenkins is an open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration, and continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat. It supports version control tools, including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, ClearCase, and RTC, and can execute Apache Ant, Apache Maven, and sbt based projects as well as arbitrary shell scripts and Windows batch commands.

Micro Focus Application Lifecycle Management (ALM) is a set of software tools developed and marketed by Micro Focus (previously Hewlett-Packard and Hewlett Packard Enterprise) for application development and testing. It includes tools for requirements management, test planning and functional testing, performance testing (when used with Performance Center), developer management (through integration with developer environments such as Collabnet, TeamForge and Microsoft Visual Studio), and defect management.

Test automation management tools are specific tools that provide a collaborative environment that is intended to make test automation efficient, traceable and clear for stakeholders. Test automation is becoming a cross-discipline

<span class="mw-page-title-main">Build light indicator</span>

A build light indicator is a simple visual indicator used in Agile software development to inform a team of software developers about the current status of their project. The actual object used can vary from a pressure gauge to a lava lamp, but its purpose remains the same: to quickly communicate whether a software process is successful or not.

Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, following a pipeline through a "production-like environment", without doing so manually. It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.

iDempiere Community Powered Enterprise. Full Open Source Business Suite

iDempiere. Community Powered Enterprise, also known as OSGi + ADempiere, is an open source Enterprise Resource Planning (ERP) software that is fully navigable on PCs, tablets and smartphones, it also has customer relationship management (CRM) and supply chain management (SCM) functions. It is in contrast to proprietary or most other open source ERP solutions driven only by a community of supporters.

In software development, a neutral build is a software build that reflects the current state of the source code checked into the source code version control system by the developers, and done in a neutral environment.

TestOps refers to the discipline of managing the operational aspects of testing within the software delivery lifecycle.

References

  1. "cruisecontrol". sourceforge.net. Retrieved 20 December 2013.
  2. "A Brief History of DevOps, Part III: Automated Testing and Continuous Integration". CircleCI. 2018-02-01. Retrieved 2018-05-19.