Review Board起源于VMware的一些开发者。它基于Django,你可以把它安装在自己的服务器上,工作流和Rietveld极为类似。令人高兴的是它提 供了在diffs里进行语法彩色编码,使得代码阅读变得简便。此外,它还实现了基于Lucene的搜索来帮助管理较大的diffs组。
Review Board在审查补丁(Patch)方面表现完美。一个叫做“提交审查”的工具被用来和SCM系统进行连接(当前支持SVN、CVS、Perforce、Git和Mercurial等),可以允许你请求一个将被提交的修改的审查。用户基础页面将这个过程描述如下:
- 你在本地检出的代码上做了些可怕的修改。
- 你通过公布diff、编写描述和选择一些审查者来创建一个审查请求。
- 你在审查请求中点击“发布”并等待你的审查者看到它。
- 其他人看了你的审查请求,说道“这太可怕了,除非什么东西坏掉了。”
- 你根据他们的评论更新了你的代码。
- 你公布了更新后的diff,以及对他们评论的解答以指明你修改了什么(或者你要说明为什么你不打算按照他们的建议修改代码)。
- 大家看了你更新后的代码,并请你继续。
- 你将修改提交到仓库中。
- 你在审查请求中点击“设置为已提交”来从其他人的面板中移除你的审查请求。
环境准备:
阿里云ecs机器,2核4G100G盘,centos7.6
软件需求:
httpd,python,mysql,memcached,ReviewBoard
安装环境:
yum install wget vim lrzsz unzip git -y
更新系统包
yum update
yum -y install epel-release
yum install initscripts -y
yum -y install python-pip
yum install python-setuptools -y
yum install python-devel -y
yum install gcc python-devel libffi-devel openssl-devel patch -y
安装httpd
yum install httpd -y
yum install mod_wsgi -y
安装数据库
yum install mysql-devel -y
yum install mysql-server -y
yum install mariadb* -y
安装 memcache
yum install memcached -y
yum install python-memcached -y
安装reviewboard
pip install -U pip setuptools
pip install mysql-python
yum install ReviewBoard -y ##pip install ReviewBoard
## easy_install mercurial easy_install P4PythonInstaller
创建数据库
systemctl start mariadb
mysql > create database reviewboard default charset utf8 collate utf8_general_ci;
mysql > grant all privileges on reviewboard.* to 'reviewboard'@'127.0.0.1' identified by 'reviewboard';
mysql > grant all privileges on reviewboard.* to 'reviewboard'@'%' identified by 'reviewboard';
mysql > flush privileges;
创建站点
rb-site install /var/www/reviewboard
Domain Name: 192.168.4.101(本机ip作为web站点)
Root Path [/]: /
Database Type: mysql
Database Name [reviewboard]: reviewboard (使用创建的数据库)
Database Server [localhost]: 127.0.0.1
Database Username: reviewboard
Database Password: reviewboard
Cache Type: memcached
Memcache Server [localhost:11211]: localhost:11211
Username [admin]: admin
Password: ******** (设置登录页面admin密码)
E-Mail Address: 111111111@qq.com
Company/Organization Name (optional): * (可以填写自己的标识)
Allow us to collect support data? [Y/n]: (可以直接回车)
配置修改
/var/www/reviewboard/conf/settings_local.py
ALLOWED_HOSTS=[ '*'] ##让web接受访问
chown -R apache:apache /var/www/reviewboard/
cp /var/www/reviewboard/conf/apache-wsgi.conf /etc/httpd/conf.d/
cat /var/www/reviewboard/conf/apache-wsgi.conf >> /etc/httpd/conf/httpd.conf
启动服务
service memcached start
service httpd restart
访问页面:http://192.168.4.101/



使用https和域名访问:
创建证书目录
mkdir -p /etc/apache2/ssl/
cd /etc/apache2/ssl/
rz 上传证书
[root@localhost ~]# ll /etc/apache2/ssl/
total 8
-rw-r--r-- 1 root root 1679 Nov 13 14:10 superlee.com.key
-rw-r--r-- 1 root root 3912 Nov 13 14:10 superlee.com.pem
安装mod_ssl
yum install mod_ssl openssl -y
a2enmod ssl
a2ensite default-ssl
修改httpd配置
<Directory />
AllowOverride All
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</Directory>
<VirtualHost *:443>
ServerName reviewboard.tuosuperlee.com
DocumentRoot "/var/www/reviewboard/htdocs"
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/superlee.com.pem
SSLCertificateKeyFile /etc/apache2/ssl/superlee.com.key
# Error handlers
ErrorDocument 500 /errordocs/500.html
WSGIPassAuthorization On
WSGIScriptAlias "/" "/var/www/reviewboard/htdocs/reviewboard.wsgi/"
<Directory "/var/www/reviewboard/htdocs">
AllowOverride All
Options -Indexes +FollowSymLinks
Require all granted
</Directory>
# Prevent the server from processing or allowing the rendering of
# certain file types.
<Location "/media/uploaded">
SetHandler None
Options None
AddType text/plain .html .htm .shtml .php .php3 .php4 .php5 .phps .asp
AddType text/plain .pl .py .fcgi .cgi .phtml .phtm .pht .jsp .sh .rb
<IfModule mod_php5.c>
php_flag engine off
</IfModule>
# Force all uploaded media files to download.
<IfModule mod_headers.c>
Header set Content-Disposition "attachment"
</IfModule>
</Location>
# Alias static media requests to filesystem
Alias /media "/var/www/reviewboard/htdocs/media"
Alias /static "/var/www/reviewboard/htdocs/static"
Alias /errordocs "/var/www/reviewboard/htdocs/errordocs"
Alias /favicon.ico "/var/www/reviewboard/htdocs/static/rb/images/favicon.png"
</VirtualHost>
重启httpd
systemctl restart httpd
浏览器访问域名:
访问reviewboard.superlee.com 自动跳转443

附:综合源history记录
2 df -h
3 yum install wget vim lrzsz unzip -y
4 yum install git -y
5 yum install httpd -y
6 yum update
7 yum install mod_wsgi -y
8 ll /etc/httpd/conf.d/wsgi.conf
9 yum install initscripts
10 yum -y install epel-release
11 yum -y install python-pip
12 yum install python-setuptools
13 yum install python-devel
14 yum install mod_wsgi
15 yum install memcached -y
16 yum install gcc python-devel libffi-devel openssl-devel patch -y
17 yum install mysql-devel
18 yum install mysql-server
19 yum install mariadb*
20 pip install -U pip setuptools
21 pip install mysql-python
22 mysql
23 systemctl start mariadb
24 mysql
25 yum install ReviewBoard
26 pip install ReviewBoard
27 yum install git-core
28 easy_install mercurial
29 easy_install P4PythonInstaller
30 rb-site install /var/www/reviewboard
31 chown -R apache:apache /var/www/reviewboard/
32 cp /var/www/reviewboard/conf/apache-wsgi.conf /etc/httpd/conf.d/
33 cat /var/www/reviewboard/conf/apache-wsgi.conf >> /etc/httpd/conf/httpd.conf
34 service memcached start
35 service httpd restart
36 history
37 ll /etc/apache2/ssl/
38 ll /etc/apache2/ssl
39 ll /etc/apache2/
40 mkdir -p /etc/apache2/ssl/
41 cd /etc/apache2/ssl/
42 rz
43 ll
44 yum install mod_ssl openssl
45 a2enmod ssl
46 a2ensite default-ssl
47 vi /etc/httpd/conf/httpd.conf
48 systemctl restart httpd
49 vi /var/www/reviewboard/conf/settings_local.py
50 systemctl restart httpd