问题
I have a .net project in subversion which is contineously integrated with Cruisecontrol.net.
i use Svn source control CCNET task.
The .net project library directory with set of reusable components configured as subversion externals.
ProjectA\libraries {reusable components directory} ProjectA\libraries\component1 ProjectA\libraries\component2 ProjectA\libraries\component3
projectA\Src { source code directory}
when the subversion externals are changed the build is not triggered, as it is not detecting the changes happened in extern folders.
How to make subversion ccnet task to build immediately when there is change in configured components as externals.
回答1:
In CruiseControl.NET 1.4 there is a few new flags for the subversion source control block, one of them is CheckExternals set this to true in your config and any modifications in your externals should trigger a build.
<checkExternals>True</checkExternals>
<checkExternalsRecursive>True</checkExternalsRecursive>
回答2:
I just setup a polling interval to check for mods - using the triggers node in ccnet.config it is an intervalTrigger. I also tell it to build only if modifications exists (the svn source changed) using the IfModificationExists attribute (which is the default)
You can set that interval pretty low if you want but I am not sure of a way to push a notification out of SVN that ccnet picks up.
回答3:
Thanks Alex for the answer.
we also started using Relative external URL which is not working with CCNET 1.4 version,
it is failing when it tries to get the list of modifications.
and also i can see one other issue with this CheckExternals code.
(ie) when the externals are configured from different svn repositories.
and the external library is only changed, then also the history command will fail.
来源:https://stackoverflow.com/questions/374818/how-to-configure-svn-task-in-cruisecontrol-net-to-detect-subversion-external-cha