6

我正在努力尝试将我的 TeamCity 项目连接到我的 TFS 项目。我尝试了很多东西,但我总是得到同样的错误:

TFS failed. ExitCode: 111, command: C:\TeamCity\webapps\ROOT\WEB-INF\plugins\tfs\bin\tfs-native.exe @@C:\TeamCity\temp\TC-TFS-25-7939_109\command.params, in file: {https://budiedimas.visualstudio.com/DefaultCollection/TesteTeamCity, /hash:S, /noProxy, C:\TeamCity\temp\TC-TFS-25-7939_108.result, ConnectionTest, $/TesteTeamCity/TesteTeamCity}, completed in: 1 second(s)
stdout: TFS Native Verifier v8.0 Copyright (C) 2006-2013 JetBrains s.r.o.
Running under .NET Framework 4.0.30319.18052
INFO  - 
INFO  - Use Team Explorer 2012
INFO  - 
TFS Native Accessor v8.0 Copyright (C) 2006-2013 JetBrains s.r.o.
INFO  - Connecting to server https://budiedimas.visualstudio.com/DefaultCollection/TesteTeamCity
INFO  - WebProxy is disabled
Connection test:
  Server='https://budiedimas.visualstudio.com/DefaultCollection/TesteTeamCity'
  Root='$/TesteTeamCity/TesteTeamCity'
ERROR - TF30063: You are not authorized to access https://budiedimas.visualstudio.com/DefaultCollection/TesteTeamCity.
System.Exception: TF30063: You are not authorized to access https://budiedimas.visualstudio.com/DefaultCollection/TesteTeamCity. ---> Microsoft.TeamFoundation.TeamFoundationServerUnauthorizedException: TF30063: You are not authorized to access https://budiedimas.visualstudio.com/DefaultCollection/TesteTeamCity.
   em Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.EnsureTokenProvider(HttpWebResponse webResponse)
   em Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequest()
   em Microsoft.TeamFoundation.Client.Channels.TfsHttpRequestChannel.Request(TfsMessage message, TimeSpan timeout)
   em Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, TimeSpan timeout, Object[]& outputs)
   em Microsoft.TeamFoundation.Framework.Client.Registration.GetRegistrationEntries(String toolId)
   em Microsoft.TeamFoundation.Framework.Client.RegistrationProxy.GetRegistrationEntries(String toolId)
   em Microsoft.TeamFoundation.Framework.Client.RegistrationService.GetInstanceId()
   em Microsoft.TeamFoundation.Framework.Client.RegistrationService.get_InstanceClientCacheDirectory()
   em Microsoft.TeamFoundation.Framework.Client.RegistrationService..ctor(TfsTeamProjectCollection tfsObject)
   em Microsoft.TeamFoundation.Client.TfsTeamProjectCollection.CreateServiceProxy(Type serviceType)
   em Microsoft.TeamFoundation.Client.TfsTeamProjectCollection.GetServiceInstance(Type serviceType, Object serviceInstance)
   em Microsoft.TeamFoundation.Client.TfsConnection.GetService(Type serviceType)
   em Microsoft.TeamFoundation.Framework.Client.PreFrameworkServerDataProvider.FindServiceLocation(String serviceType, String toolId)
   em Microsoft.TeamFoundation.Framework.Client.PreFrameworkServerDataProvider.LocationForCurrentConnection(String serviceType, Guid serviceIdentifier)
   em Microsoft.TeamFoundation.Client.TfsConnection.EnsureProviderConnected()
   em JetBrains.TeamCity.Tfs.Command.Do() na c:\BuildAgent\work\23f504c63c17dfdf\TfsNativeAccessor\src\Command.cs:linha 28
   em JetBrains.TeamCity.Tfs.Program.Main(String[] args) na c:\BuildAgent\work\23f504c63c17dfdf\TfsNativeAccessor\src\Program.cs:linha 134
   --- Fim do rastreamento de pilha de exce‡äes internas ---
   em JetBrains.TeamCity.Tfs.Program.Main(String[] args) na c:\BuildAgent\work\23f504c63c17dfdf\TfsNativeAccessor\src\Program.cs:linha 438

我总是得到错误:

'您无权访问 /DefaultCollection/'

我对 TFS 上的所有内容都拥有管理员权限,但我不知道我是否缺少 TeamCity 上的一些授权配置。

有谁知道为什么会这样?

4

3 回答 3

12

我终于设法在最新版本的 teamcity(对我来说是 8.0.3)中实现了这个功能,但显然这从7.1.4版本开始就一直在工作。

  1. 首先在 TFS 中配置备用凭据 (配置文件 -> 凭据 -> 启用备用凭据)

  2. 然后在 TeamCity

    • 使用以下 URL 格式:https://{yournamehere}.visualstudio.com/DefaultCollection
    • 对于用户名,请使用您在步骤 1 中设置的备用凭证名称。但将其置于以下格式“ ##LIVE##\usernamehere ”(它实际上在框下方告诉您这一点,但我第一次不知何故错过了它!)

希望这对其他人有帮助,因为我在这上面浪费了很多时间!

于 2013-09-09T09:27:06.880 回答
2

我已经模糊了我的网址名称和用户名,但我知道图片可以帮助很多人。这是@Rob Birds 解决问题的方法。我不能感谢他!同样,确保您在 TeamCity 构建服务器和代理上至少安装了带有 Team Explorer 的 VisualStudio 2012 Update 1 。更新 Visual Studio(如果需要)后,您还需要重新启动 TeamCity 构建服务器和构建代理。

在此处输入图像描述

于 2014-09-04T19:47:28.223 回答
0

看起来它是一个缓存问题。重新启动 Team city 服务对我有用

于 2014-03-12T16:12:24.317 回答