“Gerrit权限配置”的版本间的差异
来自个人维基
(以“这里讲的主要是在 gerrit安装完成后,根据各公司实际人员情况,进行人员群组和各仓库权限的配置内容。 大致的想法如下:...”为内容创建页面) |
|||
(未显示1个用户的3个中间版本) | |||
第1行: | 第1行: | ||
这里讲的主要是在 gerrit安装完成后,根据各公司实际人员情况,进行人员群组和各仓库权限的配置内容。 | 这里讲的主要是在 gerrit安装完成后,根据各公司实际人员情况,进行人员群组和各仓库权限的配置内容。 | ||
+ | |||
+ | == 一、配置规划 == | ||
大致的想法如下: | 大致的想法如下: | ||
第8行: | 第10行: | ||
:——这里把 Privilege/camera的 Code-Review +2权限配置为 sp_owner_camera;对应的 Privilege/video的 +2权限配置为 sp_owner_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为父仓库,权限可直接继承下来 | 3 当创建一个新项目时,创建新仓时,camera直接以 Privilege/camera为父仓库,权限可直接继承下来 | ||
4 后续需要调整仓库权限时,直接更改 Privilege/下的权限仓即可;需要更改owner时则直接更改对应 ower组群 | 4 后续需要调整仓库权限时,直接更改 Privilege/下的权限仓即可;需要更改owner时则直接更改对应 ower组群 | ||
+ | |||
+ | == 二、All-Project的权限配置 == | ||
+ | |||
+ | === 1 为项目导入群组创建权限 === | ||
+ | |||
+ | (1)Global Capabilities 中增加 sp_importers 创建项目和群组的权限: | ||
+ | <pre> | ||
+ | [capability] | ||
+ | streamEvents = group Non-Interactive Users | ||
+ | + createProject = group sp_importers | ||
+ | </pre> | ||
+ | (2)refs/*增加 sp_importers的创建权限: | ||
+ | <pre> | ||
+ | [access "refs/*"] | ||
+ | read = group Administrators | ||
+ | read = group Anonymous Users | ||
+ | + create = group sp_importers | ||
+ | </pre> | ||
+ | |||
+ | === 2 refs/meta/config增加注册用户的读权限,使 gitweb在其他用户时使用时不会出现not found错误 === | ||
+ | <pre> | ||
+ | [access "refs/meta/config"] | ||
+ | exclusiveGroupPermissions = read | ||
+ | read = group Administrators | ||
+ | read = group Project Owners | ||
+ | + read = group Registered Users | ||
+ | </pre> | ||
+ | |||
+ | === 3 refs/heads/*增加注册用户的submit权限,不然即使 Review +2,也无法合并到主线 === | ||
+ | |||
+ | 这里也不用担心+1的其他用户直接 submit,因为只有 Review+2后才能提交上去(一旦review +2,这个提交动作可以由其他用户完成) | ||
+ | <pre> | ||
+ | [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 | ||
+ | </pre> |
2015年4月1日 (三) 17:10的最后版本
这里讲的主要是在 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