我正在尝试使用TFS Express(本地)2018,并尝试使其与我的内部GOGS服务器进行交互。设置看起来不错,但是我的GOGS服务器没有SSL。这并不是什么大问题,因为它是一个测试环境,并且只能从测试LAN开始访问。
错误是这样的:
An exception occurred while polling the repository. Error: Microsoft.TeamFoundation.Build2.Server.Extensions.ExternalConnectorException: Basic authentication requires a secure connection to the server.
---> System.InvalidOperationException: Basic authentication requires a secure connection to the server.
at Microsoft.VisualStudio.Services.Common.VssBasicCredential.OnCreateTokenProvider(Uri serverUrl, IHttpResponse response)
at Microsoft.VisualStudio.Services.Common.IssuedTokenCredential.CreateTokenProvider(Uri serverUrl, IHttpResponse response, IssuedToken failedToken)
at Microsoft.VisualStudio.Services.Common.VssCredentials.TryGetTokenProvider(Uri serverUrl, IssuedTokenProvider& provider)
at Microsoft.VisualStudio.Services.Common.VssHttpMessageHandler.<SendAsync>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.TeamFoundation.Build2.Server.Extensions.GitConnector.GetBranches(IVssRequestContext requestContext, ExternalConnection connection, Int32 timeoutSeconds)
--- End of inner exception stack trace ---
at Microsoft.TeamFoundation.Build2.Server.Extensions.GitConnector.GetBranches(IVssRequestContext requestContext, ExternalConnection connection, Int32 timeoutSeconds)
at Microsoft.TeamFoundation.Build2.Server.Extensions.GitSourceProvider.GetMatchingBranchRefs(IVssRequestContext requestContext, BuildDefinition definition, IList`1 branchFilters)
at Microsoft.TeamFoundation.Build2.Server.Extensions.GitSourceProvider.GetSourceVersionsToBuild(IVssRequestContext requestContext, BuildDefinition definition, List`1 branchFilters, Boolean batchChanges, String previousVersionEvaluated, Dictionary`2& ciData, String& lastVersionEvaluated)
at Microsoft.TeamFoundation.Build2.Server.Extensions.BuildPollingJobExtension.Run(IVssRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage).
我应该注意,TFS 能够在构建期间使用基本身份验证从Git存储库中提取代码。只是Git轮询失败。
我知道我可以解决所有麻烦,包括生成自签名证书,将一个证书添加到GOGS服务器,然后在TFS主机上信任它,依此类推,但是现在我还是想重写此要求,因为这与我的测试环境无关。
我可以理解为什么Microsoft默认情况下不允许这样做,但是我搜索了Google片刻,却没有找到有关是否可以覆盖此问题的任何文档。对于瞬态测试和实验设置,通常设置SSL证书的工作可能会遇到更多麻烦,并且只会分散手头的任务。