About CruiseControl.NET (abbr. CCNet)¶
CruiseControl.NET is an Open Source Automated Continuous Integration server, implemented using the .NET Framework.
You can read the license here : CCNet License . It is a very open license, very similar to the Apache & BSD licenses.
Why a build server is usefull (get past the It runs on my machine syndrome) :
° The F5 key is not a build process
° The Road To Build Enlightenment
° The Build Server: Your Project's Heart Monitor
CCNet consists of a suite of applications:
The CruiseControl.NET server¶
The server application, which is the automated integration server, is the core of the CruiseControl.NET project.
The Server automates the integration process by monitoring the team's source control repository directly. Every time a developer commits a new set of modifications, the server will automatically launch an integration build to validate the changes. When the build is complete, the server notifies the developer whether the changes that they committed integrated successfully or not.
Effectively, integration becomes as easy as checking in code. Using an automated integration server not only makes integration easy, it also guarantees that an integration build will happen. There is no danger of developers forgetting to validate their changes after checking in.
The CCNet Server offers several key features:
- Integration with a variety of Source Control systems (vss, csv, svn, git, hg, alienbrain, bitkeeper, perforce, clearcase, filesystem, ftp, ...)
- Integration with other external tools, such as NAnt, Msbuild, NDepend, Nunit, MBUnit, Watin, Visual Studio, ....
- Can build multiple projects on one server
- Remote management
- Reporting : email, launch exe, rss, ...
Console Application¶
This is used to test a new or updated config. The console window gives immediate feedback of what is happening. Once the configuration is ok, it is adviced to use the service application.
The console requires that a user is logged on all the time.
Service Application¶
This is a windows service doing all the integrations, meaning that there is no need for a user being logged on on the server.
The WebDashboard¶
The CCNet WebDashboard Application is used for reporting a wide range of information. At one end of the scale it reports summary details of all projects in your organisation and at the other it can give specific metric output for any specific build.
Features of the Web Dashboard include:
- Multi-project, multi-server support - 1 Web Dashboard deployment can report over all the CCNet projects and ccnet servers in your organisation so there is no need for multiple instances of a web application.
- A significant set of 'plugins' to support various reporting and configuration features
- Plugin API supports custom features at various groupings of build, project, etc.
- Plugin API supports a complete code interface, enabling significantly richer plugins than were available with the old Web Application.