Gerrit是一个Git服务器,它为托管的Git存储库提供访问控制,并提供一个用于进行代码审查的web前端
优点:
1、免费、开源
2、代码多人校验、多人互备和自动化构建核验
3、适用性高
4、标准配置为Gerrit+Jenkins+Sonar,整个系统搭建完成后得到的效果为:100% Code Style问题避免入库,80% 设计问题避免入库,40% 逻辑错误避免入库,20% 安全隐患避免入库,100% 人员互备
5、支持Post commit和Pre-commit两种模式。一般使用Pre-commit,在开发者提交后,gerrit自动创建一个review任务。在review通过后,可以在网页上直接点击merge合入到master上。流程上很方便
6、管理员可以对开发人员设置Post commit权限,开发人员提交修改时可直接提交到master上。
7、多部门之间的权限隔离,强制review的机制
8、提供草稿箱功能
缺点:
1、国外文档,阅读不便
2、权限配置比较复杂,往往都是要联系管理员做出修改,每个团队很难做到对代码的个性化管理
3、只能在权限范围内公开代码
4、相比gitlab,gitlab 可以提供issues,wiki等功能方便开发者与使用者之间的沟通,并且gitlab可以无缝的与一些项目管理工具集成,比如:jira。 gerrit 这个方面比较欠缺
5、代码正确提交到分支 refs/for/* 后,需要登录Gerrit界面为刚才的提交添加相应的审核者
面板效果参考 https://gerrit.hyperledger.org/r/#/admin/projects/