如何使用部署密钥推送到受保护的github分支

Nil*_*zor 10 github

我们在工作中设置了github企业,我想要一个travis构建来将代码作为主分支构建的一部分推送回repo.它基本上更新了更改日志,提交文件并需要回到repo.问题是我们已经保护了分支,并尝试使用travis产生的部署密钥进行推送:

remote: error: Required status check "continuous-integration/travis-ci" is expected.
At least one approved review is required.        
! [remote rejected]   master -> master (protected branch hook declined)
Run Code Online (Sandbox Code Playgroud)

保护分支设置为允许管理员覆盖是没有帮助的,因为部署密钥不被视为管理员AFAIU.

小智 8

目前这是不可能的,我向GitHub询问了这个并得到了以下回应:

感谢您的联系!目前还不行,但我很乐意将其作为功能请求传递给团队.我不能保证是否或什么时候实施,但你的建议肯定是在正确的手中!

与此同时,完成您所描述的内容的唯一解决方法是不对管理员强制执行分支限制,并使用计算机用户而不是部署密钥(并将该用户管理员权限授予repo):

https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users


pie*_*dar 6

现在在 2021 年,文档说“[d] 部署具有写访问权限的密钥可以执行与具有管理员访问权限的组织成员相同的操作”。如果禁用包含管理员限制,则部署密钥可用于推送到受保护分支。

包括管理员选项截图