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

时间:2017-08-02 07:08:11

标签: 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)

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

2 个答案:

答案 0 :(得分:6)

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

  

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

     

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

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

答案 1 :(得分:4)

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

Include administrators option screenshot