在公司的部分团队推进了Git的应用,同时对Gerrit进行代码评审。从使用情况来看,团队成员比较认可这种工作模式。通过代码评审增加了开发团队成员的交流,促进了日常配合的积极性。

在Gerrit日常管理中,首要的问题是对用户的权限进行分类设定。Gerrit提供了非常细致的权限管理接口,涵盖了项目管理的各个方面,官方文档也提供了一个完善的例子。对每类用户设定一定的权限——每个权限又对应一定的责任,因此完全符合“权限越多,责任越多”的原则。

从大的方面将用户分为3类
* 系统管理员
* 业务组管理员
* 业务组

每个层次的用户可以管理对应的下级组的成员。比如业务组管理员,可以管理业务组成员,当时不能管理该业务组的管理员。所有业务组管理员由系统管理员组统一管理,且系统管理员的日常管理操作仅限于此。通过层次设定,平衡了两级管理员的工作量,也提供了一定的灵活性。

对于实际项目的权限方面,系统管理员可以创建项目,初始化权限规则,并将项目的管理权限分配给指定的业务组管理员组。业务组管理员具备整个项目的全部管理权限,可以调整各种操作的控制权限,对于一些危险操作有全部权限。对应业务组成员默认有该项目的提交评审权限,且权限限定在一定范围内。