【问题标题】:TFS: How to give permission to NETWORK SERVICE user to allow git push/pull?TFS:如何授予 NETWORK SERVICE 用户允许 git push/pull 的权限?
【发布时间】:2019-11-20 13:22:03
【问题描述】:

我有一个需要执行 git pull 和 git push 的小脚本,但现在它给了我错误:

致命:“https://tfs.domain.com/”的身份验证失败

脚本位于机器 A 上。代理安装在机器 A 上。 TFS 构建指向机器 A 上的脚本位置。我正在使用正常的“Power Shell”任务。

通过 TFS 执行的代理和 powershell 任务在“网络服务”用户上运行。代理本身是通过令牌安装/注册的。

我认为这里的问题是 'NETWORK SERVICE' 用户没有执行 git push/pull 的权限,因为它是 TFS 上不存在的用户。

一位同事告诉我,可以通过令牌注册用户以访问 TFS,或者在代理上需要一些额外的配置步骤,但他不知道是什么,我在网上找不到任何可以帮助我解决这个特定问题的东西问题。

我需要遵循哪些步骤才能使用户 NETWORK SERVICE 能够成功 git push/pull?

【问题讨论】:

  • 您的 tfs 版本是什么,您使用的是 XAML 还是 vNext 构建?
  • 您好 MrJohnMacarron,您有机会实施我建议的解决方案吗?你能分配权限吗?如果我的回复有帮助或给出了正确的方向。感谢marking it as an answer,这也将帮助社区中的其他人。

标签: git tfs permissions push devops


【解决方案1】:

为了在构建过程中运行 git 命令,您应该为构建服务帐户授予 git repo 的版本控制权限。

在版本控制选项卡上,选择要在其中运行 Git 命令的存储库,然后选择项目集合构建服务。默认情况下,此身份可以从 repo 中读取,但不能将任何更改推送回它

授予您要运行的 Git 命令所需的权限。通常你会想要授予:

  • 分支创建:允许
  • 贡献:允许
  • 读取:继承允许
  • 标签创建:继承允许

授予权限后,请务必点击保存更改。

更多详情请看官方链接--Run Git commands in a script

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多