我在subversion中有一个与之集成的.net项目 Cruisecontrol.net。
我使用Svn源控制CCNET任务。
.net项目库目录,其中包含一组可重用组件,配置为subversion externals。
ProjectA \ libraries {可重用组件目录} 项目A \库\ COMPONENT1 项目A \库\ COMPONENT2 项目A \库\ component3
projectA \ Src {源代码目录}
当更改了subversion外部时,不会触发构建,因为它没有检测到extern文件夹中发生的更改。
如果有变化,如何使subversion ccnet任务立即构建 将组件配置为外部。
答案 0 :(得分:7)
在CruiseControl.NET 1.4中,有一些针对subversion源代码控制块的新标志,其中一个是CheckExternals在你的配置中将此设置为true,并且外部的任何修改都应该触发构建。
<checkExternals>True</checkExternals>
<checkExternalsRecursive>True</checkExternalsRecursive>
答案 1 :(得分:0)
我只是设置一个轮询间隔来检查mods - 使用ccnet.config中的触发器节点它是一个intervalTrigger。我还告诉它只有在使用IfModificationExists属性(这是默认值)存在修改(svn源已更改)时才构建
如果您愿意,可以将该时间间隔设置得相当低,但我不确定是否可以将通知从ccnet中提取出来。
答案 2 :(得分:0)
感谢Alex的回答。
我们也开始使用不使用CCNET 1.4版本的相对外部URL,
尝试获取修改列表时失败。
我也可以看到这个CheckExternals代码的另一个问题。
(即)从不同的svn存储库配置外部时。
只更改外部库,然后历史命令也会失败。