Chaining builds in CruiseControl.Net

I recently had to split one of our CCNet projects into three projects allowing us to run two of the projects in parallel. Fortunately with CCNet chaining these projects was very simple. In fact it was as simple as creating the following trigger under the CCNet projects that I wanted to run following the initial project.

 <triggers>
    <projectTrigger project="Project to watch">
        <triggerStatus>Success</triggerStatus>
        <innerTrigger type="intervalTrigger" seconds="30" buildCondition="ForceBuild" />
    </projectTrigger>
</triggers>

This simply tells the project to kick off the current project once the “Project to watch” project has finished a successful build. By default the check on whether the watched project is building is made every 5 seconds, however, this can be configured by creating an innerTrigger element.

<triggers>
    <projectTrigger project="Project to watch">
        <triggerStatus>Success</triggerStatus>
        <innerTrigger type="intervalTrigger" seconds="30" buildCondition="ForceBuild" />
    </projectTrigger>
</triggers>

There we have it, simple as that, which is mostly due to the great online CCNet documentation.