Reviewboard是一个开源个人可以免费使用的代码评审框架,貌似现在有越来越多的公司也开始使用reviewboard作为公司的代码评审工具。

  今天早上试了一下,搭建过程非常方便简单,按照网页提示即可完成,比较人性化。公司里使用的话,支持LDAP,直接导入账户,方便。

  安装指导如下页面:

  https://www.reviewboard.org/docs/manual/2.5/admin/installation/linux/

 

  1.前期需要安装, 数据库以及web服务器,我选的是mysql+Apache,百度一下怎么安装即可。

  mysql:sudo apt-get install mysql-server

  Apache: sudo apt-get install apache2

 

  2.sudo -i 进入root账户,免去每次加sudo,按照网页提示安装如下工具:

  apt-get install python-setuptools

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