如何基於GitLab做代碼評審
導引
大家知道,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/geekpi/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 upstreamgit pull wangq master
第7步,Sent merge request
第8步,Code revieweg: http://gitlab.geekpi.org/geekpi/example/merge_requests/1024
第9步,Merge into product upstream
好了,完成以上9大步就大功告成啦!!!
以上,是基於Gitlab在小型開發團隊快速代碼審核的步驟,希望對你有幫助。
小結
本文主要介紹了在小型敏捷團隊,如何基於Gitlab進行代碼評審的典型步驟,歡迎繼續關注ABC實驗室“微研發”系列文章!
https://www.abcxlab.com/topic/xrd/202004132352405063.html
https://zhuanlan.zhihu.com/p/130312574