Gerrit权限配置
来自个人维基
这里讲的主要是在 gerrit安装完成后,根据各公司实际人员情况,进行人员群组和各仓库权限的配置内容。
目录 |
一、配置规划
大致的想法如下:
1 将公司人员,根据各自负责的内容配置为对应的仓库 owner,如 sp_owner_camera, sp_owner_video...
2 在 Privilege目录下创建一些空仓库,专用于权限配置,后续项目对应的仓库从这里继承,如 Privilege/camera, Privilege/video...
- ——这里把 Privilege/camera的 Code-Review +2权限配置为 sp_owner_camera;对应的 Privilege/video的 +2权限配置为 sp_owner_video
- 补充:这里可以不用显式地为 sp_owner_xxx配置 reviewer +2的权限,只需要在创建 Privilege/xxx项目时指定 owner群组即可:
ssh gerrit gerrit create-project -o sp_owner_xxx -p All-Projects --permissions-only Privilege/test_xxx
3 当创建一个新项目时,创建新仓时,camera直接以 Privilege/camera为父仓库,权限可直接继承下来
4 后续需要调整仓库权限时,直接更改 Privilege/下的权限仓即可;需要更改owner时则直接更改对应 ower组群
二、All-Project的权限配置
1 为项目导入群组创建权限
(1)Global Capabilities 中增加 sp_importers 创建项目和群组的权限:
[capability] streamEvents = group Non-Interactive Users + createProject = group sp_importers
(2)refs/*增加 sp_importers的创建权限:
[access "refs/*"] read = group Administrators read = group Anonymous Users + create = group sp_importers
2 refs/meta/config增加注册用户的读权限,使 gitweb在其他用户时使用时不会出现not found错误
[access "refs/meta/config"] exclusiveGroupPermissions = read read = group Administrators read = group Project Owners + read = group Registered Users
3 refs/heads/*增加注册用户的submit权限,不然即使 Review +2,也无法合并到主线
这里也不用担心+1的其他用户直接 submit,因为只有 Review+2后才能提交上去(一旦review +2,这个提交动作可以由其他用户完成)
[access "refs/heads/*"] create = group Administrators create = group Project Owners forgeAuthor = group Registered Users forgeCommitter = group Administrators forgeCommitter = group Project Owners push = group Administrators push = group Project Owners label-Code-Review = -2..+2 group Administrators label-Code-Review = -2..+2 group Project Owners label-Code-Review = -1..+1 group Registered Users submit = group Administrators submit = group Project Owners + submit = group Registered Users