作为TFS 2017 R2 CI构建定义的一部分,我试图将提交从一个分支合并到另一个分支。如果您可以想象在测试环境中添加了一个错误修正,那么作为build def的一部分,我运行一些git命令。
分支机构已启用策略,这些策略本质上需要提交请求的拉取请求。为了使此流程正常运行,我需要将构建代理从分支策略中排除。
我的构建def是一个单独的Powershell脚本,该脚本运行“ whoami”,然后进行git merge和git push。 Whoami返回一个用户:
domain\adminAccount
管理员帐户具有以下权限属性:
但是,当我尝试将提交推送到分支时,出现TFS错误:
TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.
如果这些帐户权限正确,并且在我执行这些脚本时它们显示该帐户已被使用,我会丢失什么?是否有一些黑匣子逻辑关于实际上正在执行什么帐户,我需要从政策执行中免除该费用?
答案 0 :(得分:1)
您自己的帐户获得“免于执行策略执行setbas Allowed”的许可后,这意味着您已经具有直接推送到受保护分支的许可。
唯一需要注意的是构建代理程序应以domain\user
的身份登录,作为您登录TFS的用户帐户:
更改登录帐户后,应重新启动代理服务并重新构建。
答案 1 :(得分:1)
刘海娜(Marina Liu)-如果我说的不正确,请让我知道,您的回答可能会对其他人有所帮助!
有关此问题的解决方法的一些说明: