需求
普通成员在组内赋予Developer权限后,能够在该组内进行如下操作:
在该组下可以创建新的项目
在该组下可以创建新的子组
脱离本组之后,则无法创建新的项目和新的组
Gitlab权限
Gitlab用户在组中权限
Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner
用户角色 | 权限 |
---|---|
Guest | 可以创建issue、发表评论,不能读写版本库 |
Reporter | 可以克隆代码,不能提交,QA、PM可以赋予这个权限 |
Developer | 可以克隆代码、开发、提交、push,RD可以赋予这个权限 |
Maintainers | 可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限 |
Owner | 可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限 |
Gitlab中的组和项目权限
Gitlab中的组和项目有三种访问权限:Private、Internal、Public
角色 | 权限 |
---|---|
Private | 只有组成员才能看到 |
Internal | 只要登录的用户就能看到 |
Public | 所有人都能看到 |
说明:开源项目和组设置的是Internal,一般工作中,我们用的最多的还是Private。
最佳实践
根据文章开头我们提到的需求,在这里为了便于理解,我们做个实操。
使用管理员账户登录,点击New Group来创建一个新组:
Allowed to create projects: Developers + Maintainers
Allowed to create subgroups: Maintainers
赋予组成员 Guest 权限
组内添加成员
赋予Guest权限
查看组成员操作权限
说明:这个并不能满足我们的需求!
赋予组成员 Reporter 权限
组内添加成员
赋予Reporter权限
查看组成员操作权限
说明:这个并不能满足我们的需求!
赋予组成员 Developer 权限
组内添加成员
赋予Developer权限
查看组成员操作权限
赋予组成员 Maintainer 权限
组内添加成员
赋予Maintainer权限
查看组成员操作权限
赋予组成员 Owner 权限
组内添加成员
赋予Owner权限
查看组成员操作权限