Cruisecontrol.net 缺少签到

发布于 2024-07-18 12:59:41 字数 872 浏览 6 评论 0原文

我已经设置了 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>

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

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

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

I've setup a CCNET and on the whole it's working fine. It polls the SVN server and checks out the code if it sees any changes. Except, that is, when there is a checkin during the build. Currently the build and test run takes about 3 - 4 mins, if anyone checks in the code during the build crusie control does not recognise the checkin and waits until there is a checkin after the build has run.

Why might this be?

This is the svn portion of the ccnet.config file:

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

Edited for Clarity
The problem is not to do with atomic checkins. A checkin can complete, CCNET builds the app and starts running tests. At this point, someone else makes another checkin. Once the test run has completed I would expect CCNET to spot the checkin that was made during the test run.

This does not happen, the checkin is missed and a build that I'm expecting is missed.

Is this expected behaviour, or am I not understanding what @Jeff Mattfield was saying?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

倦话 2024-07-25 12:59:41

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

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

A Subversion commit is atomic. It isn't available for checkout until it has completed without errors. Updating or checking out from a repository during a parallel commit results in the state of the repository before that commit.

In other words, CC.NET gets what the repository contained after the last successful commit.

月野兔 2024-07-25 12:59:41

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

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

I've never had this issue and I've been working with SVN+CCNet for a couple of years now.

  1. Can you post the whole CCNet project configuration? This might have something to do with triggers, for example.
  2. Which version of CCNet are you using?
  3. You say CCNet only detects the changes which occurred after the build. OK, but when you look at the project build report ("Modifications since last build"), does it show only those which occurred after the previous build or all of them (including the ones which occurred during the previous build)?
帅的被狗咬 2024-07-25 12:59:41

检查 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/) 路径下提交的最新修订版。

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

Check that ccservice.exe.config / ccnet.exe.config has debug log level set:

<configuration>
  <configSections>
  ...
    </log4net>
      <root>
        <level value="DEBUG"/>
      <root>
    </log4net>
  ...
  </configuration>
</configSections>

Then check the subversion output in the ccnet.log for the subversion revision.

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

Make sure that revision is the latest revision with commits under the svn trunkUrl (http://*******/svn/repos/psl/AcademyPro/ASP%20.Net/trunk/) path.

Otherwise check the log and state-file for more clues.

行雁书 2024-07-25 12:59:41

Subversion 服务器上的时间与 Cruisecontrol 服务器上的时间相差大约 2 小时。 我修复了这个问题,现在签到似乎运行得更顺畅了。

The time on the subversion server was about 2 hours out from the time on the cruisecontrol server. I fixed that and checkins now seem to be running much smoother.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文