Cruisecontrol.net缺少签到

时间:2009-04-30 15:27:51

标签: svn continuous-integration cruisecontrol.net

我已经设置了CCNET,总的来说它工作正常。它轮询SVN服务器并检查代码是否有任何变化。除此之外,即在构建期间进行签入时。目前,构建和测试运行大约需要3-4分钟,如果有人在构建期间检查代码crusie控件无法识别签入并等待,直到构建运行后有签入。

为什么会这样?

这是ccnet.config文件的svn部分:

<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>

为Clarity编辑 问题与原子签入无关。签入可以完成,CCNET构建应用程序并开始运行测试。此时,其他人再次签到。一旦测试运行完成,我希望CCNET能够发现在测试运行期间进行的检查。

这种情况不会发生,错过了签到错误,并且错过了我期待的构建。

这是预期的行为,还是我不明白@Jeff Mattfield在说什么?

4 个答案:

答案 0 :(得分:1)

Subversion提交是原子的。在完成且没有错误之前,它不可用于结账。在并行提交期间从存储库更新或签出会导致在提交之前存储库的状态。

换句话说,CC.NET获取上次成功提交后存储库所包含的内容。

答案 1 :(得分:0)

我从来没有遇到过这个问题,而且我已经和SVN + CCNet合作了几年了。

  1. 您可以发布整个CCNet项目配置吗?例如,这可能与触发器有关。
  2. 您使用的是哪个版本的CCNet?
  3. 您说CCNet仅检测在构建之后发生的更改。好的,但是当您查看项目构建报告(“自上次构建以来的修改”)时,它是否仅显示在上一次构建之后发生的那些或所有这些(包括发生的那些 上一次构建期间?)

答案 2 :(得分:0)

检查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">

确保该修订版是svn trunkUrl(http://*******/svn/repos/psl/AcademyPro/ASP%20.Net/trunk/)路径下提交的最新版本。< / p>

否则请检查日志和状态文件以获取更多线索。

答案 3 :(得分:0)

subversion服务器上的时间比巡航控制服务器上的时间长约2小时。我解决了这个问题,而且登记处现在似乎运行得更顺畅。