How can I do continous integration and nightly builds on the same clone
We are trying to switch from SVN to HG right now.
We are using continuous integration with CruiseControl.NET on a special crafted build server which is running well. Additionally we started a nightly build to do extended tests, like code statistics enhanced unit test etc.
Now our problem:
The nightly build is triggered as below:
<triggers>
<scheduleTrigger time="3:00" buildCondition="IfModificationExists" />
</triggers>
We are referencing the same clone as for the continuous integration.
During the night CruiseControl is starting开发者_如何学C the hg pull task, which returns 'no modification detected" as those are already detected during the day.
My questions
Can I configure the trigger task, so that it checks for changesets between the last nightly build and the current one? is it possible to configure the called tasks in the MsBuild task extensions for cruise control? Do we need an extra clone for the nightly build? Are there some other solutions?
Looking at the code, I can't see a mechanism to look for changesets based on repository status.
Personally, I would either go the second clone route, or use the ForceBuild condition instead of IfModificationExists to always make the nightly build.
There are several alternate mechanisms to achieve the result you're looking for, but in my opinion they all introduce additional "mess". One of the simplest might be to add a Filesystem Source Control Block and reference a file that gets touched during the standard integration build process.
精彩评论