使用分支规则管理分支允许的操作 - Amazon CodeCatalyst

使用分支规则管理分支允许的操作

创建分支时,根据该角色的权限,允许对该分支执行某些操作。您可以通过配置分支规则来更改特定分支允许执行的操作。分支规则基于用户在项目中的角色。您可以选择对某些预定义操作(如将提交推送到分支)进行限制,使得只有项目中具有特定角色的用户才能执行这些操作。通过限制允许哪些角色执行某些操作,有助于您保护项目中的特定分支。例如,如果配置了一个分支规则,只允许具有项目管理员角色的用户合并或推送到该分支,那么在项目中具有其他角色的用户将无法更改该分支中的代码。

您应该仔细考虑为分支创建规则的所有影响。例如,如果您选择限制只有具有项目管理员角色的用户才能向分支推送,那么具有贡献者角色的用户将无法在该分支中创建或编辑工作流,因为工作流 YAML 存储在该分支中,而这些用户无法提交和推送对 YAML 的更改。最佳做法是,在创建分支规则后对其进行测试,以确保它们不会产生任何预料之外的影响。您还可以将分支规则与拉取请求的审批规则结合使用。有关更多信息,请参阅 管理将拉取请求与审批规则合并的要求

注意

您必须具有项目管理员角色,才能管理 CodeCatalyst 项目中源存储库的分支规则。您无法为链接的存储库创建分支规则。

您只能创建比角色默认权限更严格的分支规则。您创建的分支规则,不能比用户在项目中的角色所允许的权限更宽松。例如,您不能创建分支规则,来允许具有审阅者角色的用户推送到分支。

应用于源存储库默认分支的分支规则,与应用于其他分支的分支规则在行为上有些不同。应用于默认分支的任何规则,都将自动应用于您指定为默认分支的任何分支。以前被设置为默认分支的分支仍将保留应用于它的规则,只是不再具有防止删除的保护功能。这种保护只适用于当前的默认分支。

分支规则有两种状态:标准自定义标准表示允许在分支上执行的操作与用户在 CodeCatalyst 中的角色权限相匹配。要进一步了解哪些角色拥有哪些权限,请参阅使用用户角色授予访问权限自定义表示一个或多个分支中的操作具有特定的角色列表来授予执行该操作的权限,与项目中用户角色授予的默认权限不同。

注意

如果创建了分支规则来限制分支的一个或多个操作,则删除分支操作会自动设置为只允许具有项目管理员角色的用户删除该分支。

下表列出了操作以及允许在分支上执行这些操作的角色的默认设置。

分支操作和角色
分支操作

在未应用分支规则时,允许执行此操作的角色

合并到分支(这包括将拉取请求合并到分支)

项目管理员、贡献者

推送到分支

项目管理员、贡献者

删除分支

项目管理员、贡献者

删除分支(默认分支)

不允许

您不能删除分支规则,但可以更新这些规则来允许所有角色在分支上执行该操作,这样实际上就是移除了规则。

注意

您必须具有项目管理员角色,才能为 CodeCatalyst 项目中的源存储库配置分支规则。这不适用于链接的存储库。链接的存储库不支持 CodeCatalyst 中的分支规则。

查看和编辑存储库的分支规则
  1. 导航到存储库所在的项目。

  2. 从项目的源存储库列表中选择存储库的名称。或者,在导航窗格中,选择代码,然后选择源存储库

    选择要在其中查看分支规则的存储库。

  3. 在存储库的概述页面上,选择分支

  4. 分支规则列中,查看存储库中每个分支的规则状态。标准表示分支操作规则是在源存储库中创建的任何分支的默认规则,并与项目中授予给这些角色的权限相匹配。自定义表示一个或多个分支操作所具备的规则,只允许一组不同的角色执行该分支中的一个或多个操作。

    要查看分支规则的具体内容,请选择要查看的分支旁边的标准自定义字样。

  5. 要创建或更改分支规则,请选择管理设置。在源存储库的设置页面上,在分支规则中,选择编辑

  6. 分支中,从下拉列表中选择要为其配置规则的分支名称。对于每种允许的操作类型,从下拉列表中选择要允许执行该操作的角色,然后选择保存