ubuntu上搭建review board代码评审站点
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了。
ubuntu上搭建review board代码评审站点的更多相关文章
- Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)
首先要了解一下Hadoop的运行模式: 单机模式(standalone) 单机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选 ...
- Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) (转载)
Hadoop在处理海量数据分析方面具有独天优势.今天花了在自己的Linux上搭建了伪分布模式,期间经历很多曲折,现在将经验总结如下. 首先,了解Hadoop的三种安装模式: 1. 单机模式. 单机模式 ...
- Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)【转】
[转自:]http://blog.csdn.net/hitwengqi/article/details/8008203 最近一直在自学Hadoop,今天花点时间搭建一个开发环境,并整理成文. 首先要了 ...
- Ubuntu上搭建Watir-Webdriver与Cucumber环境
本文主要演示如何在Ubuntu上搭建Watir-Webdriver与Cucumber环境,用于自动化测试. 1. Ubuntu环境 A. 安装 因为我的工作机是Windows,所以采用虚拟机的方式使用 ...
- Ubuntu上搭建Git服务器
下面我们就看看,如何在Ubuntu上搭建Git服务器.我们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01. 1.安装OpenSSH并配置SSH无 ...
- 在ubuntu上搭建交叉编译环境---arm-none-eabi-gcc
最近要开始搞新项目,基于arm的高通方案的项目. 那么,如何在ubuntu上搭建这个编译环境呢? 1.找到相关的安装包:http://download.csdn.net/download/storea ...
- 在Ubuntu上搭建kindle gtk开发环境
某个角度上说,kindle很类似android,同样的Linux内核,同样的Java用户层.不过kindle更注重简单.节能.稳定.Amazon一向认为,功能过多会分散人们阅读时候的注意力. Kind ...
- Ubuntu上搭建GPU服务器
1.安装显卡驱动 2.安装CUDA 3.安装cuDNN 下载: 根据显卡类型以及操作系统,选定CUDA版本和语言设置,下载对应的显卡驱动. 驱动下载地址 安装 $ sudo ./NVIDIA-Linu ...
- 在ubuntu上搭建reviewboard
review board 2.0.5 ubuntu ubuntu-12.04.1-desktop-amd64 基本上基于这个教程:http://alephnullplex.appspot.com/bl ...
随机推荐
- The remote name could not be resolved问题的解决方法
网站如果绑定了代理ip,内部跳转的时候,就会报The remote name could not be resolved错误,这个错误很难排查,网上也没有多少可参考的例子 现在记录下解决方法,以备参考 ...
- svn:ignore eclipse开发一般忽略文件
target.project.classpath.settings
- 一次疏忽导致的bug
NBB_PUT_SHORT 这个宏是按char* 类型算指针的实际工作中,没有注意这一点,输入指针类型 强转为了 SHORT* 导致 填充的内容错误 这是第一次在工作中遇到 指针类型相关的问题值得记录 ...
- sap MD04中常用函数
1. 需求溯源 : MD_PEGGING_NODIALOG 2. 实时库存 : MD_STOCK_REQUIREMENTS_LIST_API 这个函数中MDPSX 和 MDEZX 是通过 MDPS 的 ...
- grunt配置太复杂?使用Qbuild进行文件合并、压缩、格式化等处理
上次简单介绍了下Qbuild的特点和配置,其实实现一个自动化工具并不复杂,往简单里说,无非就是筛选文件和处理文件.但Qbuild的源码也并不少,还是做了不少工作的. 1. 引入了插件机制.在Qbuil ...
- node服务器
markdown support HTTP服务器 一.服务器基本方法 "use strict"; // 1.加载http模块 const http = require('http' ...
- The different between ng-grid & ui-grid
ui-grid is replacing ng-grid, and support for ng-grid is getting thin as most of the original (2.x) ...
- 个人理解的javascript作用域链与闭包
闭包引入的前提个人理解是为从外部读取局部变量,正常情况下,这是办不到的.简单的闭包举例如下: function f1(){ n=100; function f2(){ alert(n); } retu ...
- HTML颜色代码表
#000000 #2F0000 #600030 #460046 #28004D #272727 #4D0000 #820041 #5E005E #3A006F ...
- OpenMP并行构造的schedule子句详解 (转载)
原文:http://blog.csdn.net/gengshenghong/article/details/7000979 schedule的语法为: schedule(kind, [chunk_si ...