Gerrit使用介紹
軟件測試技術交流羣 : 429183023
本文轉自於Gerrit使用簡介,原文作者:樂學樂
在code Review的過程中,最好的方式就是別人幫你review代碼,因爲自己總是覺得“我的代碼絕對沒有問題”,gerrit提供了一個集成git的代碼 審覈平臺,自己最近也是在接觸。
這篇文章介紹的還是很清楚的,結合着實際的Gerrit平臺來操作,很快就能上手。PS:從最近交流羣一些同學的日常軟件操作,日誌分析來看,很多都是讀不懂英文日誌,其實有些報錯解決起來並不難,只要讀懂了報錯信息就行。所以,英文很重要,計算機英語一定要加強,閱讀能力一定要提上去。
樂學
Gerrit簡介
Gerrit,一種免費、開放源代碼的代碼審查軟件,使用網頁界面。利用網頁瀏覽器,同一個團隊的軟件程序員,可以相互審閱彼此修改後的程序代碼,決定是否能夠提交,退回或者繼續修改。
1 註冊Gerrit
1.1 賬號密碼
註冊Gerrit需給Gerrit管理員([email protected])發送郵件獲取賬號密碼。
從管理員處獲取賬號密碼後,登錄Gerrit:http://192.168.42.21:8083/
1.1 修改名字和郵箱
如郵箱爲[email protected],則“Full Name”填寫爲xxxx:
註冊郵箱:
註冊成功後會給郵箱發送一封郵件,點擊鏈接進行驗證(如果某些瀏覽器無法打開驗證鏈接,複製到IE上打開):
1.1 添加用戶
linux下的用戶名須和管理員給的Gerrit賬號名相同,如果沒有,請添加新用戶:
root@BuildHost:~# adduser gerrit
1.1 添加ssh密鑰
備份.ssh(如果存在的話):
生成密鑰:
rm -rf ~/.ssh
ssh-keygen -t rsa -C "自己郵箱地址" ###一直按回車鍵即可
然後公鑰添加到Gerrit:
把 ~/.ssh/id_rsa.pub 內容複製好
粘貼到
1 開發人員使用
1.1 下載代碼
正確配置好郵箱和ssh公鑰後,根據Gerrit管理員給出的地址下載代碼:
如:git clone ssh://用戶名@192.168.42.21:29418/test
1.1 下載commit-msg腳本
【重要:使用Gerrit必須要有此腳本】
1. 拷貝腳本到本地
scp -P 29418 -p 192.168.42.21:/hooks/commit-msg .
2. 把腳本拷貝到git鉤子路徑
cp commit-msg /usr/share/git-core/templates/hooks
chmod +x /usr/share/git-core/templates/hooks/commit-msg
1.1 提交代碼審覈
Gerrit不允許用戶直接push代碼到分支上(特別授權用戶除外),否則報錯:
正確的做法是所有提交都push到 HEAD:refs/for/分支名 :
格式如:git push origin HEAD:refs/for/分支名
例1:
當前處於本地分支master
代碼提交到遠程分支master上,則:git push origin HEAD:refs/for/master
例2:
當前處於本地分支developer
代碼提交到遠程分支deleloper上,則: git push origin HEAD:refs/for/developer
1.1 添加審覈者
代碼正確提交到分支 refs/for/* 後,需要登錄Gerrit界面爲剛纔的提交添加相應的審覈者:
登錄Gerrit:http://192.168.19.225:8083/, 在“changes”下可以看到剛剛的提交,名稱顯示爲剛剛提交所寫的註釋
點擊進入,在“Need Code-Review”下添加相應的代碼審覈者(請根據自己項目情況添加指定的審覈者,此處僅作演示)
如果審覈通過,會收到提示郵件(Code-Review爲正數,說明審覈通過,但代碼未合入分支):
代碼被合入後,會收到郵件提示(說明代碼已經正確提合入到分支):
1.1 審覈失敗再提交
當收到審覈失敗的郵件時(Code-Review爲負數,需要記下Change-Id,下一步提交時會用上),需要修改代碼重新提交:
修改好代碼後,重新提交代碼:
【重要:代碼審覈失敗後,重新提交時必須使用 git commit --amend,否則會生成新的評審任務,無法與上一次審覈任務關聯】
【重要:註釋可以重新寫,但是其中“Change-Id”必須爲上一次審覈任務失敗的Change-Id,可在Gerrit或者上一步的郵件中查看得到】
再push代碼到Gerrit:
最後無需重複步驟“3.3 提交代碼審覈”,Gerrit會自動給原來的審覈者發送相應郵件
4 審覈人員使用
4.1 收到審覈郵件
當有審覈任務郵件時,點擊鏈接打開Gerrit
4.2 查閱審覈任務
打開審覈任務如下:
4.3 添加其他審覈者
如果需要,這裏可以添加其他人員審覈(需要有審覈權限)
4.4 查看修改內容
點擊“Side-by-Side”按鈕,查看修改內容:
點擊“next”查閱下一項修改:
4.5 審覈通過/失敗
點擊“Review”
審覈通過:
審覈失敗:
代碼提示被blocked:
審覈失敗的任務會給提交者發送郵件,通知其修改
5 其他
5.1 常用別名設置
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.br branch
git config --global color.ui true
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset %C(bold blue)<%an>%Creset ---%C(yellow)%d%Creset %s %Cgreen(%cr)' --abbrev-commit"