天天看點

1、Gerrit安裝配置

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>&lt;VirtualHost *:8080&gt;</code>

<code>    </code><code>ProxyRequests Off</code>

<code>    </code><code>ProxyVia Off</code>

<code>    </code><code>ProxyPreserveHost On</code>

<code>    </code><code>#&lt;Proxy *&gt;</code>

<code>    </code><code>#      Order deny,allow</code>

<code>    </code><code>#      Allow from all</code>

<code>    </code><code>#&lt;/Proxy&gt;</code>

<code>    </code><code>&lt;Location </code><code>/login/</code><code>&gt;</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>&lt;</code><code>/Location</code><code>&gt;</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>&lt;</code><code>/VirtualHost</code><code>&gt;</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,如需轉載請自行聯系原作者