Gerrit的安裝和使用說明

轉:http://www.cnblogs.com/smallcoderhujin/p/3937641.html

Gerrit安裝和使用說明

搞了幾天,資料也查了不少,終於磨出來了。有什麼不對的地方,大家及時提出來。。。,開始吧

系統

Centos6.5 x64

內存

2G

硬盤

20G

數據庫

Mysql5.1

服務器

Apache2.2

 

 

 

 

 



準備

複製代碼
#yum update

#yum install git

#yum install java-1.7.0-openjdk.x86_64

#yum install mysql-server

#service mysqld start
複製代碼

 

配置mysql

複製代碼
#mysql –u root

-> CREATE USER 'gerrit'@'localhost' IDENTIFIED BY '123';

-> CREATE DATABASE reviewdb;

-> ALTER DATABASE reviewdb charset=latin1;

-> GRANT ALL ON reviewdb.* TO 'gerrit'@'localhost';

-> FLUSH PRIVILEGES;
複製代碼

 

安裝gerrit

安裝文件見【附件】

1)一直選擇默認enter(只有在選擇數據庫時選擇mysql,在選擇驗證方式時選http)

#java -jar gerrit-full-2.5.war init -d /var/gerrit-site

 

2)Gerrit配置文件如下:(默認路徑:/var/gerrit-site/etc/gerrit.conf)

複製代碼
[gerrit]
        basePath = git
        canonicalWebUrl = http://192.168.1.78:8081/
[database]
        type = MYSQL
        hostname = localhost
        database = reviewdb
        username = gerrit
[auth]
        type = HTTP
[sendemail]
        smtpServer = localhost
[container]
        user = root
        javaHome = /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre
[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = proxy-http://192.168.1.78:8081/
[cache]
        directory = cache
複製代碼

 

3 ) 添加用戶,可以添加多個,這個用戶是作爲web頁面的登陸用戶使用的

# touch /var/gerrit-site/passwd

# htpasswd /var/gerrit-site/passwd  [new-user-name]

 

4) 啓動、關閉、重啓gerrit

# /var/gerrit-site/bin/gerrit.sh start

# /var/gerrit-site/bin/gerrit.sh stop

# /var/gerrit-site/bin/gerrit.sh restart

 

配置Apache

1)       配置反向代理

複製代碼
/etc/httpd/conf/httpd.conf
…
<VirtualHost *:80>
  ServerName localhost
  ProxyRequests Off
  ProxyVia Off
  ProxyPreserveHost On

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  <Location /login/>
      AuthType Basic
      AuthName "Gerrit Code Review"
      AuthBasicProvider file
      AuthUserFile /var/gerrit-site/password
      Require valid-user
  </Location>

  ProxyPass / http://192.168.1.78:8081/
</VirtualHost>
複製代碼

 

2)關閉selinux,需重啓

# vi /etc/selinux/config
…
SELINUX=disable
…

 

或者,本次有效

# setenforce 0

 

3) 設置權限

# chown –R apache:apache /var/gerrit-site 

4) 關閉防火牆,讓局域網用戶訪問

# service iptables stop

 

5) 重啓httpd服務

# service httpd restart

 

Gerrit的使用

創建項目

創建branch

 

配置項目權限

項目評審過程中,需要幾個條件,代碼才能最終提交到分支

l  Review  >=+2

l  Verify   >=+1

所以如果配置爲每人評審最多隻能+1時,則必須最少兩人才能完成評審過程,當然也可以讓一個用戶組可以一次性review +2

 

配置項目權限時需要根據需要進行配置,選好擁有權限的用戶組

 

客戶端獲取代碼

Git clone http://[ip]:[port]/[project-name].git

如git clone http://192.168.1.78/hello.git

添加或更改文件 提交審覈

 

此處提交代碼的位置有點奇怪:HEAD:refs/for/master,其實是gerrit規定的方式,最後的master是分支名稱

提交代碼的快捷方式:

[remote "review"]

  pushurl = http://192.168.1.78/hello.git

  push = HEAD:refs/for/master

這樣以後就直接:

# git push review

其中用戶密碼在webui頁面右上角的“setting”à”HTTP Password”

 

評審

進入評審界面

此時可以看到頁面有“Review”按鈕,點擊即可評審代碼

 

評審或確認

此時可以看到用戶一次評審只能+1 這是在項目的access中設置的,此項目評審結果必須>=2纔可以提交,所以必須由兩個用戶分別評審

 

確認合併

待滿足gerrit對項目的要求(review >=2 verify >=1)後,頁面中會出現“submit patch set 1”的按鈕,點擊將分支合併到主幹中

 

用戶會發現,提交完畢後,“revert change”按鈕出現,也就是可以revert剛纔的提交動作

 

重新獲取代碼

此時在其他地方重新獲取項目的分支代碼,即可看到代碼更新過了

git pull origin master

-------------------------------------------------------------------

出現錯誤:
[root@localhost java.test]# htpasswd /var/gerrit-site/passwd ybb
-bash: htpasswd: command not found


解決方法:
yum install -y httpd

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章