【问题标题】:What TFS 2018 repos can be accessed using GIT?可以使用 GIT 访问哪些 TFS 2018 存储库?
【发布时间】:2021-02-22 16:20:59
【问题描述】:

我正在开发连接到我的 Windows 自托管代理的 Azure 管道。
我知道我可以访问存储在 Intranet TFS 2018 服务器上的项目,但我一直出现“身份验证失败”错误。

这是否取决于 TFS 中的项目类型?
我以前从未使用 Git 连接到我在 VS 2019 中的项目。 在机器上,在我使用 VS2019 处理这个项目的同一帐户下,我尝试了这些命令:

git clone https://tfs.myCie.com/DefaultCollection/myProject/

> Result:   Cloning into ' myProject '... 
> fatal: repository 'https://tfs.myCie.com/DefaultCollection/myProject/' not found

git clone https://user:<PAT>@tfs.myCie.com/DefaultCollection/myProject/

> Result:   Cloning into ' myProject '... 
> fatal: Authentication failed for 'https://user:<PAT>@tfs.myCie.com/DefaultCollection/myProject/'

我目前是此 TFS 项目中“Contributors”和“Project Administrators”组的成员。

我想知道问题出在哪里,会不会是git代理错误?
会不会是 TFS 访问权限错误?
会不会是项目类型的问题,可能是 TFS 中的一些项目无法从 Git 访问? 是否需要在服务器上启用基本身份验证?

更新 1

在第一次尝试创建获取本地 TFS 实例上的源的管道时,它不起作用,我怀疑是因为代理上的 git 配置为使用代理,并且该代理不允许连接到内部 TFS 服务器。

我想解决这个问题并创建一个不获取源但运行脚本以克隆代理上的 repo 然后构建它的管道:

由于管道中的脚本不起作用,我在我的电脑上的命令提示符下尝试了它,VS2019 确实连接到“repo”。

您可能有一点说它看起来不像一个 repo,我从未使用过 Git,我曾经打开 Visual Studio,打开 Team Explorer,选择我的项目并进行签出和签入。

直到今天我才注意到 Team Explorer 显示名称:Azure DevOps Server,但我知道后面是 TFS 2018 服务器:

我知道我可以使用 Git 从我的 TFS 服务器克隆“repo”,但可能没有涵盖这种情况,这就是我问几个问题的原因......因为我什至不确定我想要做什么是可能的,你问我得到的克隆 repo URI 是什么,但我找不到克隆 repo URI :(

在更一般的情况下,我被要求为我们所有的项目创建 Azure DevOps Pipelines,它必须在 Windows 自托管代理上运行,我们在 GitHub、Azure Repos 和这个 on'prem 上都有项目TFS 服务器。我有前两个的管道,但我无法建立与 TFS 的连接。

更新 2

感谢您的指点,我的用户界面似乎与您显示的不同,或者我没有找到但我确实找到了它...

这是我在 TFS 中打开项目时看到的内容:

【问题讨论】:

  • 我不明白你在问什么。您是否在在您的桌面计算机上克隆存储库时遇到问题?或者您是否在在构建过程中克隆存储库时遇到问题?您的构建管道是什么样的?该 url https://user:&lt;PAT&gt;@tfs.myCie.com/DefaultCollection/myProject/ 看起来不像 Git repo URI。当你去 repo 时,克隆 URI 是什么?
  • 一般来说,您需要提供尽可能多的信息。您是否尝试使用单独的 Azure DevOps 帐户来克隆托管在本地 TFS 实例中的 Git 存储库?请准确地说明您要完成的工作。
  • 对不起,不清楚,我已经有一段时间了……我想创建一个使用服务连接来连接到 Intranet TFS Server 的管道,但没有成功,所以我跳过了管道的源部分,现在,我正在编写一个在代理上运行的脚本,以克隆 repo 并在那里构建它。我会更新我的问题以使其更清楚。
  • 这不是 Git 存储库,而是 TFVC 存储库。您需要调整您尝试实施的任何流程以使用 TFVC。
  • 哦!好的,谢谢你!我不知道为什么我知道我可以使用 Git 访问它...我将阅读有关从 TFVC 存储库的本地 TFS 实例获取源代码的信息。

标签: tfs tfvc


【解决方案1】:

要查找 Git 克隆 URL,您可以登录 TFS 2018,然后导航到 Project -&gt;Code -&gt; Files,您可以在 克隆选项

中获取 Git 克隆 URL

yaml pipeline 的Resources字段目前不支持在TFS中获取repo。

所以在 Azure Devops Pipelines 中,可以使用以下两种方法来获取 TFS 中的 git repo。

  1. 使用 Git 克隆命令:您可以在 URL 中添加 PAT:

例如:

pool:
  name: Default

workspace:
  clean: all
steps:

- checkout: none

- task: CmdLine@2
  inputs:
    script: |
      cd $(Build.sourcesdirectory)
      
      git clone -b master http://<PAT>@tfs2018:8080/tfs/DefaultCollection/_git/<RepoName>
  1. 您可以创建其他 Git 服务连接并使用其他 Git 选项。此方法只能在经典编辑器中使用。

注意:您需要确保 Windows 自托管代理可以访问 TFS2018。也就是说,agent所在的本地机器需要能够访问TFS2018。

更新:

对于 TFVC 回购:

您可以尝试使用以下命令:

cd $(build.sourcesdirectory)
tf vc workspace /new ... 
tf vc workfold /map $/Project/Folder $(build.sourcesdirectory) 
tf vc get . /recursive 

【讨论】:

  • 您好,非常感谢您,但我在 TFS2018 中看不到这些选项!我会再次更新以向您展示我所拥有的
  • 嗨@ClaudeVernier。从您的屏幕截图中,您正在使用 TFVC Repo。在这种情况下,您需要使用 tf command 而不是 Git 命令将文件从 tfs 复制到本地代理源文件夹。你可以参考这张票:stackoverflow.com/questions/41575742/…
  • 再次感谢您的回答,但我又卡住了!!!我想安装 Team Explorer,但该服务器没有太多的 Internet 访问权限,我找不到离线安装程序,而是下载了 VS2019 的离线安装程序,希望可以选择仅安装 Team Explorer,但没有。能否请您帮忙查找 Team Explorer 的离线安装程序?
  • @ClaudeVernier 您可以找到您的 git 存储库,如 Kevin 发布的图片所示,前往 tfs.myCie.com/DefaultCollection/myProject 然后单击代码。在屏幕左侧的文件附近,您将看到一个包含您的存储库的下拉菜单。选择你想要的存储库,然后你就可以像 Kevin 展示的那样找到地址。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
  • 2020-02-07
  • 2019-01-07
  • 2016-08-15
  • 2013-02-23
  • 2014-11-26
  • 2023-04-06
相关资源
最近更新 更多