我有一个要在CI生成期间提升版本的应用程序。我尝试使用应用程序凭据推回版本提升,但遇到以下错误:
+ git push origin HEAD:master
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: At least 1 approving review is required by reviewers with write access.
现在,当我用自己的凭据这样做时,它会工作,因为我是回购协议中的管理员,但我如何授予对应用程序的访问权限以推送到主应用程序,尽管通常的分支保护?
2条答案
按热度按时间aoyhnmkz1#
你可以(现在,2022年5月,18个月后)。
∮ ∮ ∮ ∮
以前,一些分支保护只允许将例外授予用户和团队。
现在,GitHub Apps也可以被授予任何支持例外的分支保护的例外。
管理员可以创建分支保护规则来强制执行分支的某些工作流,例如在将更改合并到分支之前要求请求。
这是一个很好的实践,但您可能需要为特定的人员、团队或GitHub应用设置例外。
例如,如果您有一个GitHub应用调用GitHub API在存储库中进行更改,您可能希望允许该应用进行更改 * 而无需创建拉取请求 *。
以前,这些例外可以授予个人和团队,但只有一些保护措施允许GitHub应用。
当管理员配置这些分支保护时,他们可以从已安装并授权使用仓库的GitHub应用列表中进行选择,如下所示:
(将GitHub应用作为例外添加到分支保护设置的图像)
有关分支保护规则的信息,请访问Managing a branch protection rule。
有关GitHub应用程序的信息,请访问About GitHub Apps。
justin.m.chase还添加了注解:
尽管您的应用可以绕过需要PR的分支保护,但它不允许您绕过**status checks**等提交保护。
js4nwp542#
你不能。分支权限是用来阻止任何人推到分支的。
在我的设置中,我们有保护管理员推太多,这是更有趣的。我们已经得到了它与两个服务帐户,在CI代码中,我们提出了一个PR使用一个服务帐户令牌,然后立即其他帐户令牌批准和合并它
这不是一个很好的解决方案,但直到GitHub做出更细粒度的权限,这是我们所能做的