2009-11-24 38 views
1

我试过Google搜索的方式来做到这一点,但似乎无法找到一个,所以在这里。VisualSVN post-commit hook强制巡航控制生成

我有一个VisualSVN服务器与我的存储库和巡航控制器安装程序设置轮询服务器,并在有修改时运行构建脚本。

因为只有我在做这个项目(这是我最后一年的项目作为我的学位的一部分),我不认为CC需要轮询服务器经常因为只有我会修改被检查。

所以我想要的是VisualSVN用post-commit钩子调用CruiseControl的Force Build方法。这样我就知道每次执行更改时都会运行构建。

如果这有所帮助,VisualSVN和CC都在同一台服务器上运行。

回答

2

单击CC接口上的“force build”并复制URL 准备批处理脚本,该脚本调用wget 并从您的回购的hooks \ post-commit脚本调用此批处理脚本。 使用此项目的CC配置中的修改集。

该解决方案的缺点是,如果您执行的结果提交很少,则会针对每个人触发 cc。

的替代解决方案可能是让SVN触摸一些文件在每次提交 和配置CC使用此文件作为触发。

+0

谢谢,这似乎是最好的前进方向。 – Morgeh

+0

解决方法,为了让用户不等待CC运行,post-commit.bat调用启动另一个调用CC的bat/exe。我用这个来调用svnsync“async”。 – Zote

+0

这不相关:wget只会触发cc并退出。现在,在你身边 - 要小心你的解决方案:如果由于某种原因svn sync需要时间并且很少有后续提交会相互快速到达,那么最终可能会有几批在后台运行并且可能会同时执行svnsync打破svnsync锁定。 – Moisei