Gerrit Code Review 架設 – Part 1 – Gerrit 系統設置篇

架設 Gerrit,雖然照著官方網站的 Installation Guide 可以完成些步驟,但還是遇到一些問題。

首先要去下載安裝檔 Gerrit Download

我是用 MySQL,所以需要使用下列初始化,

  mysql

CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'secret';
CREATE DATABASE reviewdb;
ALTER DATABASE reviewdb charset=latin1;
GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';
FLUSH PRIVILEGES;


接著是增加一個名為 gerrit2 的 Linux User,並切換到 gerrit2,

sudo adduser gerrit2

sudo su gerrit2
cd ~gerrit2

java -jar gerrit.war init -d review_site

實際上,把以上敘述執行完畢後,在 gerrit 的 init 結尾還是會出下列錯誤,

    error: ‘Access denied for user ‘gerrit2’@’localhost’ (using password: NO)’

這似乎是因為沒有設定密碼的關係。
(不幸的是,我在 phpmyadmin 內設置了 gerrit2 的密碼,依舊無效)

所以我只好試著在 mysql 的 shell 裡面去設定密碼,因此需要輸入以下敘述,

    SET PASSWORD FOR ‘gerrit2’@’localhost’ = PASSWORD(‘password’);

這樣就可以順利完成 gerrit 的 init 動作。

可惜的是,在啟動 gerrit 的服務時,卻得到這樣的回應,

    Starting Gerrit Code Review: FAILED

喔! 不!~~~~ 大概是設定上的問題,再找找問題點吧。

Update 2011/11/22:

最近有時間再來看看 Gerrit 的設定問題,發現是因為自己沒有把前面錯誤設置的內容刪除掉,所以才會導致後面怎麼用都無法成功,現在知道解決方法囉。

首先記得要先把 root 密碼設好,

  mysqladmin -u root password NEW_PASSWORD

然後執行下列設定,

  mysql -u root -p

CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY
'gerrit2's password';
SET PASSWORD FOR 'gerrit2'@'localhost' = PASSWORD('gerrit2's password');
  CREATE DATABASE reviewdb;
ALTER DATABASE reviewdb charset=latin1;
GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';
FLUSH PRIVILEGES;

如果之前有錯誤的安裝,而導致失敗的狀況,記得要先把先前設好的 gerrit2 帳號及 reviewdb Database 刪除掉,重新建立一次,避免額外的問題。

再次啟動 Gerrit,就可以正確啟動了。

  Starting Gerrit Code Review: OK



發佈留言