安装搭建Reviewboard 实现pre-commit-review

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
  •         Domain =  localhost
            Root Path = / (默认)
            Database Type = mysql
            Database Name = reviewboard
            Database server = localhost
            Database username = 用户名
            Database password = 密码
            Confirm password =密码
            Memcached Server = localhost:11211 (默认)
            Username = admin (默认)
            Password = 密码
            Confirm Password = 密码
            E-mail = xxx@xx.com
            Company/Organization = 随意
            Allow us to collect support data = n

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值