【问题标题】:Teamcity does not collect Changes after one build is finishedTeamcity 不会在一次构建完成后收集更改
【发布时间】:2011-04-29 19:19:07
【问题描述】:

我们使用 Teamcity 进行构建集成。 目前我们正在与一个错误作斗争。 我们的 Teamcity 正在运行,并且代理也在运行。 当我们将某些内容提交到 svn 时,teamcity 会收集所有更改,然后构建我们所有的源代码。 此过程完成后,不再检查 svn。代理始终处于待处理状态。

我们如何实现代理会监听 svn 变化?

【问题讨论】:

    标签: svn build integration teamcity


    【解决方案1】:

    您可以发布您为构建触发器设置配置的内容吗?我有一个 TeamCity 设置,其 VCS 触发器配置为具有 60 秒的静默期。 (它会每 60 秒轮询 SVN 以查找更改,如果发现任何更改,则触发构建)

    奇怪的是,您的 TeamCity 配置选择了第一个构建,而不是任何后续构建。您是否也配置了正确的 VCS 根?

    【讨论】:

    • 好的,这是我的构建触发设置:60 秒退出周期模式。我们还配置了 VCS Root。每个 VCS Checkout 模式(在服务器上自动和在代理上自动)都会产生此错误。我不太确定是否需要指定标签规则。目前我已将它们设置为分支=>标签和树干=>标签。当我将规则留空时,构建完成后 teamcity.log 中将出现异常。我认为标签规则是一个可选设置。第一次构建时一切似乎都很好,这真的很奇怪。
    • btw.:当一个构建正在运行并且我跟踪 teamcity.log 时,我可以看到 teamcity-server 正在搜索 svn 中的更改。日志如下所示: INFO - jetbrains.buildServer.VCS - 收集更改:root=svn: https://.../svn/atlantis/ {id=9}, fromVersion=7568_2011/04/19 17:04 :52 +0200, toVersion=7568_2011/04/19 17:05:57 +0200 信息 - jetbrains.buildServer.VCS - 完成收集 svn 的更改:https://.../svn/atlantis/ {id=9} ;收集 0 个更改 0 个更改报告 构建完成后,不再出现日志条目。
    【解决方案2】:

    您使用什么版本的 TeamCity?在 5.x 版本中,TeamCity 仅在发现更改或更改收集时间过长时才会在日志中报告更改。

    另外,SVN 服务器和 TeamCity 之间可能存在时间问题(时间应该同步),尤其是当您使用外部设备并且外部设备发生更改时。

    此外,您可以尝试在 TeamCity 中启用调试日志记录(服务器配置 -> 诊断)。在这种情况下,teamcity-vcs.log 中应该有更多信息。

    【讨论】:

      【解决方案3】:

      查看 Quiet Period 的文档,它指出这不是检查 repo 的间隔。这是您的 VCS 根不应该发生任何事情的时间范围,它会启动。确保它不会在一系列更改中的第一次签入时启动。

      Quiet period is a period (in seconds) that TeamCity maintains between the moment the last VCS change is detected and a build is added into the queue.

      也许您的 VCS 根目录的范围太大,以至于经常发生签入?我在想也许你所有的项目都共享同一个 VCS 根目录,所以很少有整个根目录是“安静的”,这取决于许多其他项目的承诺?

      现在看起来很模糊,但也许你掌握了整体思路?

      Quiet mode on JetBrains site

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多