Wednesday 29 October 2008

Cruisecontrol.net

Cruisecontrol.net has a webinterface. Something like this:



But how does it work?
1. The CruiseControl.NET Server is started, and a project is started according to a Project Configuration Block in the Server's Configuration
2. CCNet checks the source code repository for modifications that have occurred since the last build attempt.
3. When modifications are detected
a. CCNet labels the project with CCNETUNVERIFIEDxxx (xxx = date/time) (Visual Source Safe only, optionally)

b. CCNet gets the latest version of the source from the source control repository

c. CCNet starts the build by executing the tasks in the section of the ccnet.config file. In this example, the build will execute the task to run the NAnt build file.

4. NAnt processes the build script specified by the element . The following steps make up one possible scenario.
a. NAnt runs VS.NET using either the task or the task. The task provides better reporting capability for later steps.

b. NAnt runs NUnit using the task or the task

c.NAnt runs FxCop using the task

5. CCNet receives the outcome of the NAnt execution (Success/Failed)
a. If the build was successful, CCNet replaces the CCNETUNVERIFIEDxxx label with the next sequential build number. (VSS only)

b. The XML output files are gathered from each step using the File Merge Task and output as an xml file in the log directory specified in the element.

6. CCNet sends out email based on the elements in ccnet.config (Optional).
a. If is set, then the individuals will only receive email if the status of the build changes (Success -> Fail, or Fail -> Success)

b. If is set, then the individuals will receive email for every build.

7. CCTray displays current status of the build in the client system tray. The user can use the "Launch web page" menu item to browse to the build status website.
8. Project Dashboard enables multiple continuous integration projects to be viewed.

In short the process is like:

No comments: