【问题标题】:Connecting TeamCity to TFS [duplicate]将 TeamCity 连接到 TFS [重复]
【发布时间】:2013-08-29 02:35:51
【问题描述】:

我正在努力尝试将我的 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 上的某些授权配置。

有人知道为什么会这样吗?

【问题讨论】:

标签: tfs authorization teamcity azure-devops


【解决方案1】:

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

【讨论】:

【解决方案2】:

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

【讨论】:

    【解决方案3】:

    我终于设法在最新版本的 teamcity(对我来说是 8.0.3)中使用它,但显然这自版本 7.1.4 以来一直有效。

    1. First configure alternate credentials in TFS (个人资料 -> 凭据 -> 启用备用凭据)

    2. 然后在 TeamCity

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

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

    【讨论】:

    • 另外,别忘了安装 Visual Studio Update 1(或更高版本)。 Rob 提到的说明框中将其列为要求。
    • 托管 TFS 的管理员是否必须输入他们的凭据?
    • 工作就像一个魅力!谢谢!如果我也阅读 TeamCity 文本框下方的信息,可能会有所帮助。
    • 之所以需要VS 2012 Update 1 或更高版本是因为用于连接TFS 的API 是在2012 Update 1 中才添加的(来源:youtrack.jetbrains.com/issue/TW-20909#
    猜你喜欢
    • 2013-08-30
    • 2019-01-28
    • 2018-02-13
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    相关资源
    最近更新 更多