Svn Cruisecontrol.net缺少签入
我已经建立了一个CCNET,总的来说它工作得很好。它轮询SVN服务器,并在看到任何更改时检查代码。除非,也就是说,在构建过程中存在签入。目前,如果有人在构建期间签入代码,那么构建和测试运行大约需要3-4分钟,crusie控件无法识别签入,并等待构建运行后出现签入 为什么会这样 这是ccnet.config文件的svn部分:Svn Cruisecontrol.net缺少签入,svn,continuous-integration,cruisecontrol.net,Svn,Continuous Integration,Cruisecontrol.net,我已经建立了一个CCNET,总的来说它工作得很好。它轮询SVN服务器,并在看到任何更改时检查代码。除非,也就是说,在构建过程中存在签入。目前,如果有人在构建期间签入代码,那么构建和测试运行大约需要3-4分钟,crusie控件无法识别签入,并等待构建运行后出现签入 为什么会这样 这是ccnet.config文件的svn部分: <sourcecontrol type="svn"> <executable>svn.exe</executable> &
<sourcecontrol type="svn">
<executable>svn.exe</executable>
<trunkUrl>http://*******/svn/repos/psl/AcademyPro/ASP%20.Net/trunk/</trunkUrl>
<workingDirectory>C:\CrusieControlProjects\AcademyPro\</workingDirectory>
<username>******</username>
<password>******</password>
<autoGetSource>true</autoGetSource>
</sourcecontrol>
svn.exe
http://******/svn/repos/psl/AcademyPro/ASP%20.Net/trunk/
C:\CrusieControlProjects\AcademyPro\
******
******
真的
为清晰起见进行了编辑
问题不在于原子签入。签入可以完成,CCNET构建应用程序并开始运行测试。此时,其他人再次签入。一旦测试运行完成,我希望CCNET能够发现在测试运行期间进行的签入
这不会发生,签入会丢失,并且我期望的构建也会丢失
这是预期的行为,还是我不明白@Jeff Mattfield在说什么?Subversion提交是原子的。在没有错误的情况下完成之前,它不可用于签出。在并行提交期间更新存储库或从存储库签出会导致该提交之前的存储库状态
换句话说,CC.NET在上次成功提交后获得了存储库中包含的内容。我从来没有遇到过这个问题,而且我已经与SVN+CCNet合作几年了
检查ccservice.exe.config/ccnet.exe.config是否设置了调试日志级别:
<configuration>
<configSections>
...
</log4net>
<root>
<level value="DEBUG"/>
<root>
</log4net>
...
</configuration>
</configSections>
...
...
然后检查ccnet.log中的subversion输出以获取subversion版本
2009-06-05 10:34:41,816 [15336:DEBUG] [cc-config svn.exe] <logentry
2009-06-05 10:34:41,816 [15336:DEBUG] [cc-config svn.exe] revision="1057">
2009-06-05 10:34:41816[15336:DEBUG][cc config svn.exe]
确保修订版是在svn trunkUrl(http://******/svn/repos/psl/AcademyPro/ASP%20.Net/trunk/)路径下提交的最新修订版
否则,请查看日志和状态文件以获取更多线索。subversion服务器上的时间与cruisecontrol服务器上的时间相差约2小时。我解决了这个问题,现在签入看起来运行得更顺利了