搞了幾天,資料也查了很多,終於磨出來了。有什麼不對的地方,你們及時提出來。。。,開始吧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 –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;
安裝文件見【附件】
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
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
項目評審過程當中,須要幾個條件,代碼才能最終提交到分支
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