Gerrit新用戶基本操作小結

一、Gerrit安裝

二、用戶註冊
Gerrit通過Apache代理,使用HTTP驗證方式登陸。所以安裝完畢後可以使用apache

自帶的htpasswd命令設置登錄username和password。這一步驟需要管理員在服務端進行操作。

htpasswd -c /var/opt/review_site/data/passwords user1

回車後輸入兩次密碼即可,要注意的是:存放用戶名和密碼的文件路徑必須在Apache配置文件中聲明,這個步驟在安裝過程中已經做了說明。

用戶從管理員那裏得到初始賬號和密碼後,打開瀏覽器,輸入 http://gerrit.cloudp.cc進入系統,輸入用戶名和密碼即可登錄Gerrit系統。初次登陸系統後需要做三件事情:

1、註冊郵件並確認,推薦使用公司郵箱,需要去郵箱裏點擊鏈接以確認註冊。
2、填寫full name,這個地方和username最好一致,比如username爲yangke,fullname也需要填寫yangke,但是第一次填寫和username相同的fullname的時候無法保存,這個時候就需要先填寫一個和username不同的fullname,保存;然後再填入一個和username相同的fullname,保存。這樣就可以使username和fullname保持一致了。
3、添加本地ssh key。Gerrit通過ssh協議進行代碼clone或者push動作,所以我們可以通過生成ssh密鑰進行web端、本地、遠程Git個服務器的通信。首先我們需要在本地的Git客戶端生成一個密鑰對,以windows版本的Git Bash爲例。打開Git Bash,
輸入:

ssh-keygen –f ~/.ssh/username

友情提示,此處的username務必和上一步驟的username相同。三次回車之後就 可以得到一個密鑰對。

cd ~/.ssh/ && ls 

可以看到兩個文件username和username.pub。使用cat命令把username.pub的內容複製到gerrit瀏覽器頁面,具體位置請點擊右上角用戶名,setting–>SSH Public Key,如下圖
這裏寫圖片描述

把username.pub的內容複製進入空白處,點擊Add按鈕即可。回到Git Bash界面,設置ssh的配置文件:

vim ~/.ssh/config
host gerrit
user username
hostname 192.168.1.13
port 29418
identityfile ~/.ssh/username

保存退出。現在我們可以測試一下和Gerrit系統的連接情況了。在Git Bash界面執行:

ssh gerrit

出現以下界面代表配置成功
這裏寫圖片描述

到這裏,用戶註冊步驟結束。
三、 Gerrit基礎操作
Gerrit的用戶根據不同的分工可以分爲不同的角色,主要包括管理員(it’s me),Developer、
和Reviewer。
Developer負責提交(push)代碼,也就是提交change,但是這個提交的動作不會影響代碼庫的master分支,而是push到了refs/for/master分支等待review。爲了順利使用Gerrit,開發者還需要對本地Git進行設置一些設置,如下例:

    git config --global user.name “yangke”
    git config --global user.email “yangke@163.net
Reviewer負責進行代碼審查,並對代碼進行打分,得到+2分的代碼就可以submit,也就是提交到最終的代碼庫。同時如果代碼不過關,Reviewer可以將代碼打回,這個時候需要開發者修改代碼後重新提交。
例如,我們現在在一個名爲pbsWeb.git的代碼庫中進行開發工作,首先開發者需要clone代碼庫到本地:
git clone gerrit: pbsWeb.git

值得一提的是,初次clone下來的代碼庫並不能順利的push,因爲缺少相應的文件,需要執行以下步驟:
例如,開發者clone到了pbsWeb.git這個庫,並在修改代碼後push

git clone gerrit: pbsWeb
cd pbsWeb
scp -i ~/.ssh/admin -p -P 29418 admin@192.168.1.13:hooks/commit-msg .git/hooks
git add code_file
git commit –m “bunny”
git push origin HEAD:refs/for/master

完成以上步驟,就完成了一個change提交,可以在Gerrit的web界面看到一個change。後面的提交動作變不需要執行上面命令中的scp命令也可以正常push。

這裏寫圖片描述
這裏寫圖片描述
點擊左下方的test.c就可以看到具體的代碼,左側是未提交之前的,右側是提交之後的,這樣可以很清楚的進行對比。
這裏寫圖片描述
開發者本身不會具有代碼段的review權限,只有Reviewer纔可以對開發者提交的代碼進行review並打分,如果代碼過關,Reviewer就可以對代碼進行submit操作,也就是提交到最終的代碼庫。
這裏寫圖片描述
這裏寫圖片描述
以上的步驟就完成了一次完整提交動作。
四、 權限控制
略~

發佈了63 篇原創文章 · 獲贊 56 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章