1、準備安裝環境
安裝JDK
下載下傳jdk的tar包,解壓縮,并修改/etc/profile,配置環境變量,這裡不再說明
安裝git
gerrit需要git環境,直接用yum安裝
#yum -y install git
安裝httpd
httpd主要作為反向代理使用,并設定賬号密碼通路
#yum -y install httpd
建立gerrit安裝目錄
#mkdir /home/gerrit2
2、下載下傳Gerrit安裝包
下載下傳Gerrit的war包,通常包名為gerrit-xxx.war,xxx為版本号
我下載下傳的版本為gerrit-2.12.2.war
3、安裝Gerrit
進入到gerrit-2.12.2.war檔案所在目錄,執行以下指令進行互動式安裝
#java -jar gerrit-2.12.2.war init -d /home/gerrit2/gerrit
這裡省略安裝過程,基本上一路回車,保持預設即可。安裝過程中的配置都可以通過編輯安裝後生成的配置檔案來修改。該檔案路徑為/home/gerrit2/gerrit/etc/gerrit.config
注意:
1、gerrit可以将資料儲存到mysql或其他的資料中,如果你需要使用mysql,則需要安裝gerrit之前安裝mysql,我這裡直接使用預設的資料庫類型 H2。如果你需要使用其他類型資料庫,可以參考下面這個連結:
https://gerrit-documentation.storage.googleapis.com/Documentation/2.12.2/install.html
2、如果gerrit需要結合jenkins做CI持續建構的話,在互動式安裝過程中需要安裝Verified label,預設是不安裝的:Install Verified label [y/N]? y 這裡選擇y,安裝Verified label。
修改配置檔案:
#vim /home/gerrit2/gerrit/etc/gerrit.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<code>[gerrit]</code>
<code> </code><code>basePath = git</code>
<code> </code><code>canonicalWebUrl = http:</code><code>//172</code><code>.16.206.133:8081</code>
<code>[database]</code>
<code> </code><code>type</code> <code>= h2</code>
<code> </code><code>database = </code><code>/home/gerrit2/gerrit/db/ReviewDB</code>
<code>[index]</code>
<code> </code><code>type</code> <code>= LUCENE</code>
<code>[auth]</code>
<code> </code><code>type</code> <code>= HTTP</code>
<code># logoutUrl = 172.16.206.133:8080</code>
<code>[receive]</code>
<code> </code><code>enableSignedPush = </code><code>false</code>
<code>[sendemail]</code>
<code> </code><code>smtpServer = smtp.exmail.qq.com</code>
<code> </code><code>smtpServerPort = 465</code>
<code> </code><code>smtpEncryption = SSL</code>
<code> </code><code>smtpUser = 你的郵箱賬号</code>
<code> </code><code>smtpPass = 你的郵箱密碼</code>
<code> </code><code>form = 你的郵箱賬号</code>
<code>[container]</code>
<code> </code><code>user = root</code>
<code> </code><code>javaHome = </code><code>/usr/local/jdk1</code><code>.8.0_66</code><code>/jre</code>
<code>[sshd]</code>
<code> </code><code>listenAddress = *:29418</code>
<code>[httpd]</code>
<code> </code><code>listenUrl = http:</code><code>//</code><code>*:8081/</code>
<code>[cache]</code>
<code> </code><code>directory = cache</code>
建立密碼認證檔案,并建立使用者admin
<code>#cd /home/gerrit2/gerrit/etc/ </code>
<code>[root@localhost etc]</code><code># htpasswd -c -m passwords admin</code>
<code>New password: </code>
<code>Re-</code><code>type</code> <code>new password: </code>
<code>Adding password </code><code>for</code> <code>user admin</code>
4、配置httpd方向代理
編輯httpd.conf檔案,追加以下内容
#vim /etc/httpd/conf/httpd.conf
<code>Listen 8080</code>
<code><VirtualHost *:8080></code>
<code> </code><code>ProxyRequests Off</code>
<code> </code><code>ProxyVia Off</code>
<code> </code><code>ProxyPreserveHost On</code>
<code> </code><code>#<Proxy *></code>
<code> </code><code># Order deny,allow</code>
<code> </code><code># Allow from all</code>
<code> </code><code>#</Proxy></code>
<code> </code><code><Location </code><code>/login/</code><code>></code>
<code> </code><code>AuthType Basic</code>
<code> </code><code>AuthName </code><code>"Gerrit Code Review"</code>
<code> </code><code>AuthBasicProvider </code><code>file</code>
<code> </code><code>AuthUserFile </code><code>/home/gerrit2/gerrit/etc/passwords</code>
<code> </code><code>Require valid-user</code>
<code> </code><code><</code><code>/Location</code><code>></code>
<code> </code>
<code> </code><code>AllowEncodedSlashes On</code>
<code> </code><code>ProxyPass / http:</code><code>//127</code><code>.0.0.1:8081/ nocanon</code>
<code> </code><code>###這裡端口為8081,與gerrit.config中配置的一樣端口一樣</code>
<code> </code><code>ProxyPassReverse / http:</code><code>//127</code><code>.0.0.1:8081/</code>
<code><</code><code>/VirtualHost</code><code>></code>
啟動httpd服務
#service httpd start
如果使用nginx反向代理,則使用如下配置:
<code>server {</code>
<code> </code><code>listen *:8080;</code>
<code> </code><code>server_name 10.10.10.206;</code>
<code> </code>
<code> </code><code>}</code>
<code> </code><code>location </code><code>/login/</code> <code>{</code>
<code> </code><code>auth_basic </code><code>"Gerrit Code Review"</code><code>;</code>
<code> </code><code>auth_basic_user_file </code><code>/home/gerrit2/gerrit/etc/passwords</code><code>;</code>
<code> </code><code>proxy_pass http:</code><code>//127</code><code>.0.0.1:8081;</code>
<code>}</code>
5、啟動或者重新開機gerrit
初始化安裝gerrit時,會自動啟動gerrit,是以我們修改完配置後,需要重新開機gerrit
#/home/gerrit2/gerrit/bin/gerrit start | restart
6、登入gerrit
Gerrit安裝完成後,會生成服務啟動腳本,路徑為 $GERRIT_SITE/bin/gerrit.sh, 如果需要将Gerrit服務設定為開機自啟動,可以按以下操作進行
将腳本link到/etc/init.d目錄下
ln -snf /home/gerrit2/gerrit/bin/gerrit.sh /etc/init.d/gerrit
測試腳本是否正常:
/etc/init.d/gerritd status
** ERROR: GERRIT_SITE not set
修改腳本,設定$GERRIT_SITE路徑
添加開機啟動:
chkconfig --add gerrit
chkconfig gerrit on
再次測試腳本
本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1771575,如需轉載請自行聯系原作者