版权声明:本文为 ABC实验室 原创文章,版权所有, 侵权必究!
导引
大家知道,Gitlab是知名的开源代码管理工具,除了云端代码托管服务外,也可以下载社区版本进行本地搭建。因此大部分研发团队都搭建Gitlab进行代码管理。但其实,gitlab也是支持代码评审流程的。如果我们研发团队如果规模不大(例如10个人左右),完全可以基于gitlab进行代码评审,而无需另外再搭建一趟专业的代码评审工具(例如:Gerrit), 今天我们就简单地介绍下这个话题
当我们建立好敏捷研发体系后,研发工作按部就班的推进中,软件在一个个需求不断迭代过程中代码量也在慢慢攀升,随着代码复杂度不断膨胀,再加上服务上线后,对代码质量控制和变更控制的要求越来越迫切。因此代码评审作为一种代码质量和变更控制机制会被团队提上日程,本文将结合作者实践,给大家分享下如果结合研发搭建的内部Gitlab代码管理系统做快速的Code Review。
流程
一般基于Gitlab的代码评审和递交的典型步骤可以分为如下几个步骤
- Fork product upstream (地点:内部Gitlab系统)
- Git clone product upstream (地点:本地Workspace)
- Git add forked upstream (地点:本地Workspace)
- Git pull product upstream (地点:本地Workspace)
- Dev develop new feature (地点:本地Workspace)
- Git push forked upstream (地点:本地Workspace)
- Create merge request (地点:内部Gitlab系统)
- Code review(地点:内部Gitlab系统)
- Master merge into product upstream (地点:内部Gitlab系统)
详细步骤
前置条件
在进行正式开启code review之前,先完成以下两个前置步骤
1. 已初始化Gitlab项目产线代码库,例如:本示例 example 项目
git@gitlab.geekpi.org:geekpi/example.git
备注:本文中所有地址和样例都是为了演示代码评审过程,真实并不存在。
2. 已配置Gitlab项目代码master 和 release 分支, 进行相应权限控制,要求:develop 通过merge request 的方式,经过code review后递交代码。具体protect权限配置参考如下example项目:
http://gitlab.geekpi.org/geekpi/example/settings/repository
流程举例
使用gitlab进行代码评审,
- 第1步:Fork product upstream
首先,在gitlab系统上 fork 要提交代码的项目,例如这里演示的项目地址是:http://gitlab.geekpi.org/demo/example
- 第2步,Git clone product upstream
git clone git@gitlab.geekpi.org:geekpi/example.git
- 第3步,Git add forked upstream
git remote add wangq git@gitlab.geekpi.org:wangq/example.git
- 第4步,Git pull product upstream (同步产线代码)
git pull origin master
- 第5步,Dev engineering
#change code
#skip details...
#add changes into index
git add .
#commit changes into local git repo
git commit -m "demo"
- 第6步,Git push forked upstream
git pull wangq master
- 第7步,Sent merge request
- 第8步,Code review
eg: http://gitlab.geekpi.org/geekpi/example/merge_requests/1
- 第9步,Merge into product upstream
好了,完成以上9大步就大功告成啦!!!
以上,是基于Gitlab在小型开发团队快速代码审核的步骤,希望对你有帮助。
官方微信公众号
搜索关注“ABC实验室”微信公众号,可以订阅更多内容。