1.安装python setuptools、python开发包、memcached
sudo apt install python-setuptools python-dev memcached
easy_install python-memcached
2.安装apache2和mod_python
sudo apt install apache2 libapache2-mod-wsgi
sudo a2enmod wsgi //修改apache2的配置,让python mod处于enable状态
3.安装patch、 mysql数据库
sudo apt install patch mysql-server python-mysqldb libmemcache-dev
4.安装库文件
sudo apt install libffi-dev libssl-dev libjpeg8-dev libpng12-dev libfreetype6-dev zlib1g-dev libwebp-dev libtiff5-dev libopenjpeg-dev libzip-dev pillow
5.配置mysql数据库
create database reviewboard default charset utf8 collate utf8_general_ci;
create user ‘reviewboard’@’localhost’ identified by '密码';
//-- 其中reviewboard为用户名
grant all on reviewboard.* to ‘reviewboard’@’localhost’;
//-- 前一个reviewboard为数据库名,后一个reviewboard为用户名
6.安装reviewboard 、
easy_install reviewboard
7.建立reviewboard站点
rb-site install /var/www/reviewboard
8.拷贝配置文件
cd /etc/apache2/sites-available
cp /var/www/reviewboard/conf/apache-wsgi.conf reviewboard.conf
cd ../sites-enabled
ln -s ../sites-available/reviewboard.conf .
a2ensite reviewboard
9.修改相应文件的目录权限:
chown -R www-data /var/www/reviewboard/htdocs/media/uploaded
chown -R www-data /var/www/reviewboard/data
chown -R www-data /var/www/reviewboard/htdocs/media/ext
chown -R www-data /var/www/reviewboard/htdocs/static/ext
10.让apache加载ReviewBoard:
sudo a2dissite 000-default
sudo a2ensite reviewboard
sudo /etc/init.d/apache2 reload
sudo /etc/init.d/apache2 restart
11.修改/var/www/reviewboard/conf/settings_local.py
ALLOWED_HOSTS = ["localhost"] 修改成 ALLOWED_HOSTS = ["*"]
12.删除000-default.conf重启apache2
sudo rm sites-enabled/000-default.conf
sudo /etc/init.d/apache2 reload
sudo /etc/init.d/apache2 restart
/************************************************************************************
打开浏览器输入localhost:端口号 //比如我在第7步时Domain= 192.168.1.1,我打开的链接就应该是:192.168.1.1:端口号/r/
出现reviewboard页面,此时证明你已成功完成reviewboardda搭建 。
***********************************************************************************
添加数据库,找到REPOSITORY > Add Repostitory
1.Path中的链接必须为http://开头
2.不可以有多个地址一样的数据库同时存在,否则修改数据库时会出错
/************************************************************************************************
参考:Pre-commit集成配置 | ReviewBoard安装配置说明
安装前需要安装python,所有所需软件安装包如附件;
遇到的问题:
①reviewboard-svn-hook中config.ini文件路径在C:\ProgramData\reviewboard-svn-hooks
②安装配置完后,通过svn client可以直接提交,即svn hook pre-commit未起作用;
-->通过调查,发现是python工具在判断是否需要忽略时,判断结果为Ture;
-->通过修改
C:\Python27\Lib\site-packages\reviewboard_svn_hooks-0.2.1.post20-py2.7.egg\reviewboardsvnhooks\strict_review.py中获取命令执行结果的函数后,pre-commit可以正常符合预期结果操作;修改后的strict_review.py请留意下面 百度云网盘链接
***************************************************************************************************/
1.安装rtbool
pip install RBTool
2. 在你自己的机子上 svn 的 checkout 出来的目录下执行:
rbt setup-repo
3. 生成 .reviewboard文件,具体命令查看rbt help post
REVIEWBOARD_URL = "http://192.168.1.1:80" //你设置的地址:端口号
REPOSITORY = "xxx" //你在reviewboard创建的数据库名
REPOSITORY_TYPE = "svn"
USERNAME="admin" //你在reviewboard创建的账号
PASSWORD="admin"
4. 修改代码后,利用rbt命令提交到reviewboard进行审核,创建代码评审请求
-d 显示调试信息
-p 提交之后立即发布,不用此参数则存为草稿
--summary 指定标题摘要
--diff-filename 指定要提交的diff文件(使用git diff生成)
--description 指定描述
--description-file 指定描述文件
--target-groups 指定项目组
--target-people 指定审核人员
//具体命令查看rbt help post
输入:
rbt post -p -d --target-people='审核员' --target-groups='审核团队' --summary='标题描述' --description='内容描述'
5.你也可以通过rbt diff 生成diff文件,然后通过网页端手动上传diff文件进行提交审核
rbt diff > xxx.diff //输出与上版本的对比diff文件
rbt diff -I xxx\xxx\xxx.c > xxx.diff //输出与上版本某个文件对比diff文件
6.对上一次的提交有变更,再次提交
rbt post -p -d -r xx //xx为之前的review ID
7.审核通过后,就可以正常上传到svn了
svn ci -m "review:xx 修改描述" // xx为之前的review ID