Closed shoutingwei closed 6 years ago
Gerrit是一款被Android开源项目广泛采用的code review(代码审核)系统。
普通用户将远程git库里的项目clone到本地,修改代码后,不能直接push到代码中心 ,而是通过git review(需要单独安装)提交到gerrit中的git库里进行审核。gerrit相关审核员看到review信息后,判断是否通过,通过即commit提交。然后,gerrit代码会和远程git库完成同步。gerrit的精髓在于不允许直接将本地修改同步到远程仓库。客户机必须先push到远程仓库的refs/for/*分支上,等待审核。
gerrit上也可以对比代码审核提交前后的内容状态。
在对代码进行review之前能先跑一遍代码分析和单元测试后,再进行人式review,这个时间可以使用Jenkins的自动化部署实现。当用户git review提交后,代码先提交到Gerrit的临时git库。所以需要当Gerrit项目仓库有变化时,先通过Jenkins来进行自动化测试和代码分析,Jenkins测试通过后,打上Verified,然后再交给人工review,人工review通过后,自动同步到远程git库中。
Gerrit 自带一个 Replication 功能,同时我们在安装 Gerrit 时候默认安装了这个 Plugin,通过添加replication.config 给 Gerrit即可。
用户git review提交代码 -> 提交到Gerrit库 -> 触发Jenkins自动测试,测试通过Verified -> 人工审核Review,review通过 -> Gerrit执行Replication -> push Git remote
当用户 git review 后,代码通过 jenkins 测试、人工 review 后,代码只是 merge 到了 Gerrit 的项目中,并没有 merge 到 Github的项目中,所以需要当 Gerrit 项目仓库有变化时自动同步到 Gitlab 的 test项目仓库中。 replicaion就是Gerrit 的一个插件,通常用于提供 changes 的镜像,或热备份。许多现有的项目可能是用另外一套系统来管理 Git 代码仓库的,比如 GitLab,或者 GitHub,replication可以自动地将 Gerrit Code Review 对它所管理的 Git 仓库创建的任何 changes push 到另外一个系统里。
具体安装 https://blog.csdn.net/mr_raptor/article/details/76223233 https://www.wolfcstech.com/2017/11/24/gerrit_codereview/
Gerrit是一款被Android开源项目广泛采用的code review(代码审核)系统。
普通用户将远程git库里的项目clone到本地,修改代码后,不能直接push到代码中心 ,而是通过git review(需要单独安装)提交到gerrit中的git库里进行审核。gerrit相关审核员看到review信息后,判断是否通过,通过即commit提交。然后,gerrit代码会和远程git库完成同步。gerrit的精髓在于不允许直接将本地修改同步到远程仓库。客户机必须先push到远程仓库的refs/for/*分支上,等待审核。
gerrit上也可以对比代码审核提交前后的内容状态。
在对代码进行review之前能先跑一遍代码分析和单元测试后,再进行人式review,这个时间可以使用Jenkins的自动化部署实现。当用户git review提交后,代码先提交到Gerrit的临时git库。所以需要当Gerrit项目仓库有变化时,先通过Jenkins来进行自动化测试和代码分析,Jenkins测试通过后,打上Verified,然后再交给人工review,人工review通过后,自动同步到远程git库中。
Gerrit 自带一个 Replication 功能,同时我们在安装 Gerrit 时候默认安装了这个 Plugin,通过添加replication.config 给 Gerrit即可。
用户git review提交代码 -> 提交到Gerrit库 -> 触发Jenkins自动测试,测试通过Verified -> 人工审核Review,review通过 -> Gerrit执行Replication -> push Git remote
当用户 git review 后,代码通过 jenkins 测试、人工 review 后,代码只是 merge 到了 Gerrit 的项目中,并没有 merge 到 Github的项目中,所以需要当 Gerrit 项目仓库有变化时自动同步到 Gitlab 的 test项目仓库中。 replicaion就是Gerrit 的一个插件,通常用于提供 changes 的镜像,或热备份。许多现有的项目可能是用另外一套系统来管理 Git 代码仓库的,比如 GitLab,或者 GitHub,replication可以自动地将 Gerrit Code Review 对它所管理的 Git 仓库创建的任何 changes push 到另外一个系统里。
具体安装 https://blog.csdn.net/mr_raptor/article/details/76223233 https://www.wolfcstech.com/2017/11/24/gerrit_codereview/