为什么要codereview

. 整个团队的编码风格是统一的。

. 有高手能对自己的代码指点一二,从而提高编码水平。

. 减少低级错误的出现

. 约束自己写高质量的代码,因为是要给人看的。

我们对codereview的需求

. 很轻松可以发布自己写的代码。

. 很轻松的可以与老代码diff review。

. review的人和被review的人很轻松的交互,而且还能保存交互的历史。

我选择rietveld

基于以上需求,rietveld都满足,web应用是基于jango框架开发,可以通过一个python的客户端上传需要review的代码,而这一切又可以与svn或git无缝对接,因为它的diff是基于,review人员可以在web应用上看上传上来的需要review的代码,并且可以做批注。如果想了解rietveld,可以访问官方文档。http://code.google.com/p/rietveld/
,在这里我就不赘述了。

部署

其实rietveld本来就有个服务器托管,但国内各种被墙(大家都懂的),所以我们需要在搭建一个本地环境,可以按照官网里面的部署方法,切记要选择不基于app-engine的方式,这种是可以直接部署在本地的(我部署时基于app-engine各种麻烦)。大家可以参考http://django-gae2django.googlecode.com/svn/trunk/examples/rietveld/README, 记得进去后直接找“Manual Setup”即可,前提你有个svn客户端和python2.7以上的版本。

checkout Django 1.2.5框架

    svn co http://code.djangoproject.com/svn/django/tags/releases/1.2.5/django django
svn co http://django-gae2django.googlecode.com/svn/trunk/gae2django checkout Rietveld
svn co http://rietveld.googlecode.com/svn/trunk/codereview
svn co http://rietveld.googlecode.com/svn/trunk/static
svn co http://rietveld.googlecode.com/svn/trunk/templates
svn export http://rietveld.googlecode.com/svn/trunk/upload.py 再打补丁: patch -p0 < patches/upload.diff
patch -p0 < patches/account-login-links.diff
patch -p0 < patches/download.link.diff 再装数据库 ./manage.py syncdb

在部署时会让你添加管理员和密码,你按步骤做就行了,就可以开启web服务了。

在当前目录下:./manage.py runserver 127.0.0.1:8000

在浏览器输入:127.0.0.1:8000, 就可以进入界面了,

这里有个地方需要大家注意下,最开始如果用户登陆会报Modal User找不到getId()的错误,, 这需要找到Modal.py 将user.getId() 全部换成user.id就都OK了。

常用工具说明--搭建基于rietveld的CodeReview平台(未测试)的更多相关文章

  1. APP测试常用工具以及框架

    APP测试常用工具以及框架 1)纯白盒方式的测试,Monkey.一般是开发用的比较多,动手能力强的同学可以自己去尝试下! 2)偏白盒的robotium,这家伙号称是黑盒,但是本人不太认同- 因为使用r ...

  2. 基于locust的性能测试平台搭建

    前段时间加入性能测试组,并参与搭建基于locust的性能测试平台,我分到的任务相对独立,开发locust的启动接口和停止运行接口,现开发的差不多了,做一个总结 一.locust运行的相关内容 二.lo ...

  3. 搭建基于MySQL的读写分离工具Amoeba

    搭建基于MySQL的读写分离工具Amoeba: Amoeba工具是实现MySQL数据库读写分离的一个工具,前提是基于MySQL主从复制来实现的: 实验环境(虚拟机): 主机 角色 10.10.10.2 ...

  4. 2015第30周三Spring常用工具类

    文件资源操作 文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特定目录下,从指定地址加载一个配置文件等等.我们一般使用 JDK 的 I/O 处理类完成这些操作,但对于一般的应用程序来 ...

  5. linux常用服务软件搭建及使用技巧

    一.Webmin安装: Webmin 是一个基于浏览器的管理工具,可以应用于Linux 和其他一些平台,提供了可以完成很多管理和操作任务的图形化界面 •安装完成后,root 用户会被自动创建,密码为系 ...

  6. spring中常用工具类介绍

    http://www.cnblogs.com/langtianya/p/3875103.html 文件资源操作     Spring 定义了一个 org.springframework.core.io ...

  7. 象写程序一样写博客:搭建基于github的博客

    象写程序一样写博客:搭建基于github的博客   前言 github 真是无所不能.其 Pages 功能 支持上传 html,并且在页面中显示.于是有好事者做了一个基于 github 的博客管理工具 ...

  8. Java程序员常用工具集

    我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了.我想列下我能想到的一个Java程序员会用到的常用工具. 一.编码工具 1.IDE ...

  9. 第二章 Qt常用工具的介绍

    第二章 Qt常用工具的介绍 (1)No.1 qmake 相信编写过Makefile的开发人员,随着工程中源码的级数递增和以类型.功能.模块组织源码的子目录的增多,都不愿意重复机械地手工编写这个工程管理 ...

随机推荐

  1. Visual Studio 2008 SP1键盘F10单步调试超慢解决方法

    症状: 中断程序调试时,F10或者其它键盘操作都超级慢. 鼠标点击工具栏的按钮速度正常. 解决方法: 网上说的什么删掉所有断点啦,关掉几个窗口啦,重置用户设置啦,关掉某某调试选项啦,关掉防火墙啦,都是 ...

  2. pageadmin自助建站 网站目录权限的设置方法

    在用pageadmin网页设计的时候遇到各种问题可以参考官网教程网站目录权限的设置方法 网站目录必须设置读取和写入权限,否则后台解压,删除文件,在线上传等功能都无法正常使用,下面讲解本机和服务器配置目 ...

  3. 不可逆转(SDOI2010地精部落)

    提供一个简单一点的思路,不需要滚动数组,也不需要一些奇奇怪怪的性质. 我们考虑设\(f[i]\)为\(1\)到\(i\)中有多少种波动数列. 我们可以注意到,波动数列分为先降后升和先升后降两种,但是我 ...

  4. php对象在内存中存在形式

    1,php中基本数据类型存在于栈区,对象这种数据类型存在于堆区: 比如如下代码,两个指针指向同一个对象,其输出相同 <?php /** * Created by PhpStorm. * User ...

  5. 公司git流程图,广告业务术语

  6. P3866 [TJOI2009]战争游戏 最小割

    $ \color{#0066ff}{ 题目描述 }$ 小R正在玩一个战争游戏.游戏地图是一个M行N列的矩阵,每个格子可能是障碍物,也可能是空地,在游戏开始时有若干支敌军分散在不同的空地格子中.每支敌军 ...

  7. P3879 [TJOI2010]阅读理解 题解

    P3879 [TJOI2010]阅读理解 题解 题目描述 英语老师留了N篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节约时间,现在要做个统计,算一算某些生词都在哪几篇短文中出现过. 输 ...

  8. maven项目报错

    [root@kube-master iff]# kubectl logs iff-dm-3029278244-9qrp6 -n iffjava.lang.IllegalArgumentExceptio ...

  9. 2D激光SLAM算法比较+cartographer

    Hector slam: Hector slam利用高斯牛顿方法解决scan-matching问题,对传感器要求较高. 缺点:需要雷达(LRS)的更新频率较高,测量噪声小.所以在制图过程中,需要rob ...

  10. 做point data的切面的时候的注意事项

    正确的顺序应该是: 先导入cell data,再转换为point data,再做切面.结果如下: 如果这里导入cell data以后先做了切面再转换为point data,结果就是这样的: 很明显中间 ...