将TeamCity连接到TFS

Vic*_*chi 6 teamcity tfs authorization azure-devops

我正在努力尝试将我的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
Run Code Online (Sandbox Code Playgroud)

我总是得到错误:

'您无权访问/ DefaultCollection /'

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

有谁知道为什么会这样?

Rob*_*ird 12

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

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

  2. 然后在TeamCity中

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

希望这有助于其他人,因为我浪费了相当多的时间!

  • 此外,不要忘记安装Visual Studio Update 1(或更高版本).它被列为Rob提到的指令框中的一项要求. (2认同)