我的版本在Windows Server 2003,TeamCity 6.0.3上运行。 git存储库存储在同一台服务器上,可以通过cygwin的sshd和gitd访问。我在TeamCity中的vcs配置如下:
获取网址:git:// server / Repo
推送网址:ssh:// server /〜/ Repo
身份验证设置
身份验证方法:密码
用户名:TeamCitySC(这是专门为标签设置的本地帐户)
密码:* * * * * *
对于每个用户,在他们到Repository的主路径中有一个符号链接,因此是〜/ Repo路径。标签在大约100个版本中工作得很好,最近它定期开始抱怨以下消息:
root'git root'标签失败 org.eclipse.jgit.api.errors.JGitInternalException: 更新ref refs / tags / build-108 至 标签[03e70a74b39c1393f5ce684424194210513b4d48] = { 宾语 0f6101df222f5370a17f5ce1c97eb2348d64970c type commit tag build-108 tagger PersonIdent [SYSTEM, SYSTEM @ server,5月26日星期五 16:16:07 2011 -0600]}失败了。 RefUpdate.update()的ReturnCode是 被拒绝了 org.eclipse.jgit.api.TagCommand.call(TagCommand.java:159) 在 jetbrains.buildServer.buildTriggers.vcs.git.GitVcsSupport.label(GitVcsSupport.java:1334) 在 jetbrains.buildServer.vcs.impl.VcsLabeler.setLabel(VcsLabeler.java:80) 在 jetbrains.buildServer.vcs.impl.VcsLabeler.setLabel(VcsLabeler.java:1) 在 jetbrains.buildServer.serverSide.impl.FinishedBuildImpl.setLabel(FinishedBuildImpl.java:10) 在 jetbrains.buildServer.serverSide.impl.auth.SecuredBuildFactory $ SecuredFinishedBuildImpl.setLabel(SecuredBuildFactory.java:3) 在 jetbrains.buildServer.controllers.SetLabelAction.doProcess(SetLabelAction.java:11) 在 等...
即使我手动尝试通过TeamCity标记构建(即在给定构建的“更改”选项卡中“标记此构建源”链接),它仍然会失败。
答案 0 :(得分:5)
从错误消息中的ReturnCode REJECTED
看来,您的存储库似乎已经包含标记refs/tags/build-108
,并且TeamCity不会强制重写现有标记。
答案 1 :(得分:0)
升级到TeamCity 6.5。它昨天发布了。我们在6.0.x中的DVCS功能遇到了很多麻烦。 6.5是一个很大的改进。如果升级无法解决您的问题,请在此处回复。这给我们带来了很多麻烦。我不确定,但他们可能已经放弃了jgit。似乎jgit缺少很多功能,TeamCity必须解决您正在使用的版本中的问题。子模块支持就是这样一个特征。
我也会远离cygwin并在服务器上找到最新的msysgit。事实证明,Cygwin比msysgit麻烦得多。
希望这有帮助。