跳到主要内容

组织与团队协作:五种角色,十个坑

权限这件事,查表最准。但表太长,没人看。

这篇先给你一张「差在哪」的简表,再点出十个表里看不出来、但会真踩的细节。

一、五种角色的分界线​

负责人 > 管理员 > 开发者 > 助手 > 访客。另有 匿名(未登录/非成员)和 创建者(非成员但创建了某个资源)。

真正要记的是这三条分界:

分界谁在左边
能改组织级设置、建仓库负责人、管理员
能推代码、跑构建、合并 PR负责人、管理员、开发者
只能看 + 评论 + 提 Issue助手、访客、匿名

一句话选角色:

  • 负责人:组织所有者,管钱管人
  • 管理员:管仓库设置、分支保护、成员
  • 开发者:日常干活的人,全流程能走通
  • 助手:参与讨论、提 Issue、评论,但不动代码
  • 访客:看代码看日志

二、十个反直觉的细节​

1. 助手 能评论但不能推代码。 它的定位是"参与协作但不改代码"——产品经理、设计师、测试同学给这个最合适。

2. 访客 在私有仓库看不了代码。 公开仓库能克隆能下载,私有仓库连文件内容都不给看。

3. 开发者 能合并 PR。 不需要管理员。但前提是分支保护规则允许——分支保护设置只有管理员和负责人能改。

4. 建 PR、提 Issue、评论,非成员也行。 公开仓库上,非成员的 创建者 可以创建和评论。这是开源协作的基础。

5. 创建者 能编辑自己 PR 的标题和描述,但不能编辑 Issue 标题。 PR 描述谁都能改(只有创建者能改),Issue 标题只有管理员以上和创建者能改。细节不对称,别想当然。

6. 云原生开发环境:创建者 也有访问权限。 这是唯一一个 创建者 拥有、而 访客 没有的权限。别人通过 Issue 里点按钮起的开发环境,他自己能进,其他成员反而进不去。

7. 密钥仓库的门槛是 管理员。 开发者 看不到密钥仓库内容。所以别指望把密钥塞进密钥仓库就完事——引用它需要在 .cnb.yml 里配 allow_*,这是另一层门。

8. 助手 能创建/编辑/删除标签。 标签管理权限给得比想象中宽,助手 以上都能动。

9. Release:助手 能下载附件和解压源码,但建不了 Release。 创建 Release 需要 开发者 以上。

10. 定时任务的执行身份是「最后改配置的人」。 这条本质是权限问题:那个人被移出仓库,他名下的定时任务全挂。团队里要指定常驻维护者。

三、构建权限单独有一套​

云原生构建 只有一条硬规则:触发和停止构建需要 开发者 以上。 查看和下载日志,公开仓库的 匿名 都能做,私有仓库要 开发者 以上。

所以「只让某些人跑部署」的常见做法是:

  • 仓库角色给到 助手(能看不能跑)
  • 部署流水线再加一层审批(第 21 篇讲的部署流程审批)

四、制品库权限和仓库是分开的​

制品库有自己的成员管理,不跟着仓库走。

操作谁可以
查看、拉取公开制品库:匿名;私有:访客 以上
创建/上传版本开发者 以上
管理设置、成员管理员 以上
删除制品库负责人
删除/禁用版本管理员 以上

注意「删除版本」和「上传版本」不对称。开发者能传不能删,这是有意的:删除是不可逆的。

五、任务集有个复合条件​

访问任务集需要同时满足两个条件:

  1. 你是任务集成员
  2. 你是关联仓库的成员

所以在任务集里对某个 Issue 的操作权限,跟你在它所属仓库里的权限一致。 任务集只是视图,不放大权限。

六、新人入职的推荐配置​

角色给谁
开发者正式开发同学
助手产品、设计、测试、外部对接人
访客只要求能看的实习/旁听
管理员1-2 个人,别多
负责人组织层面 1 个人

管理员的坑在于:能改分支保护。给多了,保护规则就形同虚设。

七、权限表格该怎么用​

刚才这些是结论。真正要查某个具体操作时,还是回官方那张全量对照表——它有八列(含匿名、创建者),覆盖 Group、仓库、代码、分支、构建、开发、Issue、PR、评论、标签、Tag、Release、制品库、任务集。

表在官方文档 指南 → 角色权限。遇到「我为什么点不了这个按钮」,那里是终审。