我最近从8升级到Teamcity 9。自从升级之后,我所有的GIT VCS都没有更新源。构建日志如下所示,但checkout目录为空。
[04:33:49]Using vcs information from agent file: 53c2fd4d_Test.Project.xml
[04:33:49]Clean build enabled: removing old files from D:BuildsTest.Project
[04:33:49]Checkout directory: D:BuildsTest.Project
[04:33:49]Updating sources: server side checkout
[04:33:49][Updating sources] Will perform clean checkout. Reason: "Clean all files before build" turned on
[04:33:49][Updating sources] Transferring cached clean patch for VCS root: Test Project
[04:33:49][Updating sources] Repository sources transferred
[04:33:49][Updating sources] Removing D:BuildsTest.Project
我尝试在<TeamCity Data Directory>/system/caches
清理服务器缓存,但没有帮助。
我们遇到了同样的问题。有一段时间,我们在任何构建的更改选项卡中看到的refs/heads/<BranchName>
<HASH>
都会指向从8升级到9的提交时间。固执地忽略任何后续签入
我们的原因可能是在Stash中已耗尽许可用户。但是在我们查看的任何TeamCity日志中都没有git/stash/swabra的任何错误迹象。我们组织的一部分修复了存储库许可问题,同时我们:
- 检查VcsRoot规范中的
on
和Enable to use tags in the branch specification
。(我们实际上不使用标签,我们的分支规范模式永远不会与我们的stash/git repo中的标签匹配。) 在这一点上,web ui似乎显示一些相当疯狂的更改集。对于一个分支构建X,我们看到了来自不相关分支的提交。然而,构建的代码实际上可能是正确的。TeamCity看到的每个分支都想重建。 - 反弹TeamCity服务器。
- 检查
off
,然后再次检查on
, '允许在分支规范中使用标签'。
那么我们似乎在web UI中得到了正确的更改集。当然,其中有些步骤是多余的。