Gerrit的安裝和使用說明

Gerrit安裝和使用說明

搞了幾天,資料也查了很多,終於磨出來了。有什麼不對的地方,你們及時提出來。。。,開始吧java

系統mysql

Centos6.5 x64linux

內存git

2Gweb

硬盤sql

20G數據庫

數據庫apache

Mysql5.1服務器

服務器ssh

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

相關文章
相關標籤/搜索