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

A <project> block defines all the configuration for one project running in a CruiseControl.NET server

Examples

Minimalist example:

<project name="Project 1" />

Full example:

<project name="Project 1">
    <name>Project 1</name>
    <workingDirectory>yourWorkingDirectory</workingDirectory>
    <artifactDirectory>yourArtifactDirectory</artifactDirectory>
    <webURL>http://localhost/ccnet/Project1</webURL> 
    <modificationDelaySeconds>2</modificationDelaySeconds>
    <publishExceptions>true</publishExceptions>
    <triggers>
        <yourFirstTriggerType ../>
        <yourOtherTriggerType ../>
    </triggers>
    <state type="yourStateManagerType" ../>
    <sourcecontrol type="yourSourceControlType" ../>
    <labeller type="yourLabellerType" ../>
    <tasks>
        <yourFirstTaskType ../>
        <yourOtherTaskType ../>
    </tasks>
    <publishers>
        <yourFirstPublisherType ../>
        <yourOtherPublisherType ../>
    </publishers>
    <externalLinks>
        <externalLink name"My First Link" url="http://somewhere/" />
        <externalLink name"My Other Link" url="http://somewhere.else/" />
    </externalLinks>
    <!-- The following are deprecated elements -->
    <build type="yourTaskType" ../>
</project>

Configuration Elements:

Node Description Type Required Default
name The name of your project - this must be unique for any given CruiseControl.NET server string yes n/a
workingDirectory The Working Directory for the project (this is used by other blocks). Relative paths are relative to a directory called the project Name in the CruiseControl.NET server directory . The Working Directory is meant to contain the checked out version of the project under integration. string no WorkingDirectory
artifactDirectory The Artifact Directory for the project (this is used by other blocks). Relative paths are relative to a directory called the project Name in the CruiseControl.NET server directory. The Artifact Directory is meant to be a persistence location for anything you want saved from the results of the build, e.g. build logs, distributables, etc. string no Artifacts
webUrl A reporting URL for this project. This is used by CCTray and the Email Publisher. Typically you should navigate to the Project Report on the Dashboard, and use its URL, but make sure to replace any ampersands with & a m p ; (no spaces) string no http://localhost/CruiseControl.NET
modificationDelaySeconds The minimum number of seconds allowed between the last check in and the start of a valid build.
If any modifications are found within this interval the system will sleep long enough so the last checkin is just outside this interval. For example if the modification delay is set to 10 seconds and the last checkin was 7 seconds ago the system will sleep for 3 seconds and check again. This process will repeat until no modifications have been found within the modification delay window.
This feature is in CruiseControl.NET for Source Control systems, like CVS, that do not support atomic checkins since starting a build half way through someone checking in their work could result in invalid 'logical' passes or failures. The property is optional though so if you are using a source control system with atomic checkins, leave it out (and it will default to '0')
integer no 0
publishExceptions If you are experiencing periodic failures in your build process (such as sporadic Visual Source Safe Source Control Block or CVS Source Control Block connection problems), it is possible to configure the CCNet server to not publish the exception as a failed build. Set this value to true to publish exceptions to the build log, or false to just send them to the server log file boolean no true
sourcecontrol See Source Control Blocks Source Control Block no Null Source Control Block
triggers See Trigger Blocks List of Trigger Blocks no Specifying an empty element (<triggers />) means integrations are only ever forced manually (for example using CCTray or the Web Dashboard.) Not including a <triggers> element at all means the project has a single Interval Trigger with default configuration.
state See State Manager Blocks State Manager Block no Project State Manager
labeller See Labeller Blocks Labeller Block no Default Labeller
tasks A set of Tasks to run as part of the build. A failed task will fail the build and any subsequent tasks will not run. Tasks are run sequentially, in the order they appear in the configuration. List of Task Blocks no empty list
publishers A set of Tasks that are run after the build is complete. These tasks are used primarily to clean up after the build and to publish and report on the build results. All tasks in this section will always run regardless of whether previous tasks fail or the build is broken. List of Task Blocks no empty list
externalLinks See ExternalLinks List of ExternalLinks no empty list
build DEPRECATED A Task that will run before all tasks in the <tasks> section. This is only provided for backwards compatibility and will be removed in future versions of CCNet. Task Block no null

Sub-section types

Document generated by Confluence on Jun 26, 2005 17:22