首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法从Jenkins连接到TFS 2015 git存储库

无法从Jenkins连接到TFS 2015 git存储库
EN

Stack Overflow用户
提问于 2020-03-23 13:27:09
回答 3查看 766关注 0票数 0

我无法连接到Jenkins的TFS 2015 git存储库。我一直收到以下错误:

代码语言:javascript
运行
复制
Failed to connect to repository : Command "C:\Program Files\Git\bin\git.exe ls-remote -h -- https://tfsservername/tfs/DefaultCollection/_git/reponame.git HEAD" returned status code 128:
stdout:
stderr: Logon failed, use ctrl+c to cancel basic credential prompt.
fatal: Authentication failed for 'https://tfsservername/tfs/DefaultCollection/_git/reponame.git/'

我的配置:

  • Jenkins 2.204.5
  • 2015年TFS更新3
  • Jenkins Git插件4.2.2
  • Jenkins Git客户端插件3.2.1

我尝试过不同的凭证组合。对于用户名,我做了域\用户名、用户名@域、用户名和密码,我使用了一个个人访问令牌和TFS站点密码。我尝试过的每一个组合都会返回“身份验证失败”。有人有什么建议吗?

更新:这是一些更多的背景。我正在尝试从我的Windows计算机连接到外部TFS服务器。服务器是一个工作服务器,我无法控制它。我将端口号添加到git中,得到了另一条错误消息。这就是我得到的:

代码语言:javascript
运行
复制
Failed to connect to repository : Command "C:\Program Files\Git\bin\git.exe ls-remote -h -- https://tfsservername:8080/tfs/DefaultCollection/_git/portal HEAD" 
returned status code 128: stdout:stderr: fatal: unable to access 'https://tfsservername:8080/tfs/DefaultCollection/_git/portal/': schannel: 
next InitializeSecurityContext failed: SEC_E_INVALID_TOKEN (0x80090308) 
The token supplied to the function is invalid

在从这个TFS服务器下载自定义NuGet包时,我也遇到了类似的问题。我之前通过向NuGet.config文件添加凭据解决了这个问题。我使用的凭据是用户名和PAT,并为ValidAuthenticationTypes添加了一个'basic‘值。起作用了。在Jenkins中,使用相同类型的凭据不起作用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-28 17:48:51

一个同事帮我弄明白了。这是DNS问题。我必须使用VPN连接到TFS服务器,因为它是私有工作服务器。我必须转到Control >>vEthernet Properties->Internet 4/ TCP/IP 4 Properties,然后转到高级TCP/IP设置。我选择了‘追加这些DNS后缀..’并添加了与我的TFS服务器相关的后缀。然后,在Jenkins中,我使用我的TFS用户名和密码作为凭据。没有错误信息。@PatrickLu-MSFT当你提到这可能是一个网络问题时,我开始思考。谢谢你的帮助。

票数 1
EN

Stack Overflow用户

发布于 2020-03-24 08:39:33

您使用的repo不需要包含额外的.git作为后缀。

就像https://tfsservername/tfs/DefaultCollection/_git/reponame一样

此外,您还可以尝试将身份验证与回购url类结合起来,例如:

对于此类身份验证失败的错误,如果您使用PAT令牌来处理带有内置TFS服务器的身份验证,请确保已关闭服务器上的基本身份验证。否则,您将得到返回的错误。

我们建议您在使用Azure DevOps服务器时始终关闭IIS身份验证。只有在必要时才能启用IIS基本身份验证。当在windows计算机上启用IIS基本身份验证时,它会阻止您使用个人访问令牌(PATs)作为身份验证机制。 https://learn.microsoft.com/en-us/azure/devops/integrate/get-started/authentication/iis-basic-auth?view=azure-devops

对于TFS中的克隆url,应该是这样的:

git clone https://PAT@tfsservername:8080/tfs/Collectionname/Projectname/_git/GitReponame

如果所有这些仍然不起作用,请检查您是否支持代理。尝试暂时关闭代理。

如果问题与TFS方面或网络有关,其他方法可能有助于缩小范围。您可以直接从浏览器访问这些URL,如果有任何问题,请再次检查。

票数 0
EN

Stack Overflow用户

发布于 2020-03-24 13:29:35

如果生成服务器是windows机器,则Git for Windows使用windows使用Windows凭据管理器存储凭据。以构建代理帐户登录,并确保在TFS服务器的凭据管理器中添加如下条目

然后可以运行以下git命令,以确保它将使用凭据管理器。

代码语言:javascript
运行
复制
git config --global credential.helper manager
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60814459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档