如何基于GitLab做代码评审

申明:本文是“极客派”(thegeekpi.com)网站原创文章,版权所有,侵权必究!

导引

当我们建立好微研发体系后,研发工作按部就班的推进中,软件在一个个需求不断迭代过程中代码量也在慢慢攀升,随着代码复杂度不断膨胀,再加上服务上线后,对代码质量控制和变更控制的要求越来越迫切。因此代码评审作为一种代码质量和变更控制机制会被团队提上日程,本文将结合作者实践,给大家分享下如果结合研发搭建的内部Gitlab代码管理系统做快速的Code Review。

流程

基于Gitlab的代码评审和递交的典型步骤可以分为如下几个步骤

  1. Fork product upstream (地点:内部Gitlab系统)
  2. Git clone product upstream  (地点:本地Workspace)
  3.  Git add forked upstream (地点:本地Workspace)
  4.  Git pull product upstream (地点:本地Workspace)
  5.  Dev develop new feature (地点:本地Workspace)
  6. Git push forked upstream (地点:本地Workspace)
  7. Developer send merge request for code review(地点:内部Gitlab系统)
  8. Master merge into product upstream (地点:内部Gitlab系统)

步骤

前置条件

  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

规范流程

  1. Fork product upstream

    http://gitlab.geekpi.org/wangq/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
    #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/48
  9. Merge into product upstream

    以上,是基于Gitlab在小型开发团队快速代码审核的步骤,希望对你有帮助。如果对“极客微研发”系列课程有任何建议,欢迎踊跃留言,期待“极客微研发”下一篇文章。