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了。