This page last changed on May 19, 2005 by orogers.

The following is an example of what steps the CruiseControl.NET server goes through when running an integration on a project built using NAnt and checked into a Visual Source Safe (VSS) Source Control Server.

This process is basically the same for all other build tools and source control systems.

This guide is only meant as an example. For exact configuration details, please refer to the documentation for the CruiseControl.NET Server or Web Dashboard.

  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.
    1. When modifications are detected
      1. CCNet labels the project with CCNETUNVERIFIEDxxx (xxx = date/time) (Visual Source Safe only, optionally)
      2. CCNet gets the latest version of the source from the source control repository
      3. CCNet starts the build by executing the tasks in the <tasks> section of the ccnet.config file. In this example, the build will execute the <nant> task to run the NAnt build file.
  3. NAnt processes the build script specified by the <nant> element . The following steps make up one possible scenario.
    1. NAnt runs VS.NET using either the <exec> task or the <solution> task. The <solution> task provides better reporting capability for later steps.
    2. NAnt runs NUnit using the <nunit2> task or the <exec> task
    3. NAnt runs FxCop using the <exec> task
  4. CCNet receives the outcome of the NAnt execution (Success/Failed)
    1. If the build was successful, CCNet replaces the CCNETUNVERIFIEDxxx label with the next sequential build number. (VSS only)
    2. 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 <logDir> element.
  5. CCNet sends out email based on the <publishers><email> elements in ccnet.config (Optional).
    1. If <group notification="change"> is set, then the individuals will only receive email if the status of the build changes (Success -> Fail, or Fail -> Success)
    2. If <group notification="always"> is set, then the individuals will receive email for every build.
  6. 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.
  7. Project Dashboard enables multiple continuous integration projects to be viewed.

Content supplied by Noel Gifford.
image002.gif (image/gif)
Document generated by Confluence on Jun 26, 2005 17:22