【问题标题】:TFS build - Continuous Integration with external Git repoTFS 构建 - 与外部 Git 存储库的持续集成
【发布时间】:2018-10-18 08:27:04
【问题描述】:

我在 Gitlab 本地服务器上托管了一个 Git 存储库,我需要使用 TFS 构建设置 CI。 我设法设置了一个手动 TFS 构建,它成功地从我的 Git 存储库中提取了源代码。 我在我的 TFS 构建定义中添加了一个 CI 触发器,并且构建实际上会为每个提交触发,但失败并出现以下错误:

轮询存储库时发生异常。错误:Microsoft.TeamFoundation.Build2.Server.Extensions.ExternalConnectorException:基本身份验证需要与服务器建立安全连接

有什么想法吗?

【问题讨论】:

标签: git tfs gitlab tfsbuild


【解决方案1】:

根据错误消息,此问题是由身份验证问题引起的。

您是如何设置端点服务的?

不要在您在 TFS 上创建的“服务”端点上使用 http 来访问您的 GitLab 存储库,而是在 URL 中使用 HTTPS

除了启用对您的存储库的 HTTPS 访问之外,请记住在您的 GitLab 帐户上设置密码,然后在 TFS 上设置的“服务”端点上使用该密码以及您的用户名(电子邮件地址)。

您也可以尝试在 Gitlab 中创建 Personal Access Token 并将其添加到构建定义中的存储库 URL(在获取任务和服务端点定义中)。

然后尝试触发 CI 构建并再次测试。


更新:

根据我对 HTTPS 的测试,在提交对 Gitlab 的更改时(包括 PAT 和基本用户名和密码),CI 的一切都按预期工作。

在 TFS 2015 Update4.1 和 TFS2017Update3.1 上对此进行了测试...

所以,试试我上面提到的解决方案。

【讨论】:

  • 我正在使用个人访问令牌来访问存储库,当我手动排队构建时这工作正常。仅当构建由提交触发时才会失败。 Gitlab 服务器未配置 HTTPS。这是强制性的吗?没有办法使用纯 HTTP?
  • @shayc 是的,根据我对 HTTPS 的测试,提交更改时 CI 的一切都按预期工作。请参阅我的更新答案。
猜你喜欢
  • 2013-11-29
  • 2023-03-08
  • 2013-01-07
  • 2011-06-04
  • 2014-11-26
  • 1970-01-01
  • 2017-08-23
  • 2015-07-14
  • 1970-01-01
相关资源
最近更新 更多