Reviewboard是一個開源我的能夠無償使用的代碼評審框架,貌似如今有愈來愈多的公司也開始使用reviewboard做爲公司的代碼評審工具。python
今天早上試了一下,搭建過程很是方便簡單,按照網頁提示便可完成,比較人性化。公司裏使用的話,支持LDAP,直接導入帳戶,方便。mysql
安裝指導以下頁面:linux
https://www.reviewboard.org/docs/manual/2.5/admin/installation/linux/git
1.前期須要安裝, 數據庫以及web服務器,我選的是mysql+Apache,百度一下怎麼安裝便可。github
mysql:sudo apt-get install mysql-serverweb
Apache: sudo apt-get install apache2sql
2.sudo -i 進入root帳戶,免去每次加sudo,按照網頁提示安裝以下工具:數據庫
apt-get install python-setuptoolsapache
apt-get install python-dev瀏覽器
apt-get install memcached
easy_install python-memcached
apt-get install patch
easy_install ReviewBoard
apt-get install python-mysqldb
3.安裝代碼控制組件,能夠按照本身的實際狀況選裝,我是所有都裝了省事:
apt-get install cvs
apt-get install git-core
easy_install mercurial
easy_install P4PythonInstaller
easy_install subvertpy
apt-get install subversion python-svn
4.以上的工具安裝完以後配置一下mysql以及建立一下數據庫和帳戶:
編碼模式:
[client] default-character-set=utf8 [mysqld] character-set-server=utf8
建立帳戶(注意下面的myuser和mypassword替換成你本身的實際用戶名和密碼):
$ mysql -u root -p mysql> CREATE DATABASE reviewboard CHARACTER SET utf8; mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; mysql> GRANT ALL PRIVILEGES ON reviewboard.* to 'myuser'@'localhost';
5.開始安裝:
rb-site install /var/www/reviews.example.com
這中間要作填一些選項,根據你以前的選擇來填,比較簡單的,注意看一下填就好(domainName本身測試直接填本機ip)。
完了還要按照提示配置一下(實際要chown的比下面的還要多兩個,看最後完成的提示把另外兩個加上去):
$ chown -R www-data /var/www/reviews.example.com/htdocs/media/uploaded $ chown -R www-data /var/www/reviews.example.com/data
6.而後開始配置Apache:
$ cd /etc/apache2/sites-available $ cp /var/www/reviews.example.com/conf/apache-wsgi.conf reviews.example.com.conf $ cd ../sites-enabled $ ln -s ../sites-available/reviews.example.com.conf .
而後打開瀏覽器,輸入以前domainName的ip,應該就能夠打開reviewboard的網頁了,用你在步驟5裏面輸入的管理員帳戶密碼來登陸。
在配置裏面把你的代碼倉庫加進去(加完會提示你去代碼倉庫下面加一個.reviewboardrc文件,文件的內容也在setup裏面有的),建立代碼評審組,添加新用戶,添加代碼評審郵件通知。
7.這個時候應該尚未rbt這個工具,仍然到reviewboard網站上去下載,應該有提供代碼倉庫能夠直接下載的:
git clone git://github.com/reviewboard/rbtools.git
安裝方法下載的代碼裏面有,看INSTALL說明。
8.最後試着去修改一下代碼,rbt post一下,看看能不能發佈代碼評審到網頁上,而且郵箱提示全部小組內的同事。
很是簡單的幾步就完成了,若是中間有遇到什麼問題,膽大心細看提示。
由於只是我的試用,若是公司使用的話,建議接入LDAP,而後搞一個局域網內正常的DomainName,就完美了,公司應該會有本身專門的郵箱的。
問題解決:
晚上找了個室友測試了一下這個環境,結果遇到一個問題,我這裏提交好好的,他提交就一直返回HTTP 400,API 224的錯誤,查了錯誤索引,是diff文件解析不對。
各類排查,結果最後發現室友把本身的代碼倉庫的svn密碼輸錯了,因此reviewboard根本沒有連上他的代碼倉庫,diff文件生成以後也就無從解析生產review了。