为什么要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. MVC dropdownlist 下拉框

    List<SelectListItem> items = new List<SelectListItem>(); items.Add(new SelectListItem() ...

  2. 2018.11-2019.1的随记|NOIP的考后随记

    就是日记吧?(这里就是写一些乱七八糟的东西qwq,当作自己的零散想念吧 1.24 今天跟着BLUESKY他们的视频一起领略了一下远在广州的CCF冬令营开幕式,看着ljh的拍的照片也体验了一下RM冬令营 ...

  3. “全栈2019”Java第三十四章:可变参数列表

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. [Objective-C语言教程]决策结构(10)

    决策结构要求程序员指定一个或多个要由程序评估或测试的条件,以及在条件被确定为真时要执行的一个或多个语句,以及可选的,如果条件要执行的其他语句 被认定是假的. 以下是大多数编程语言中的典型决策结构的一般 ...

  5. 数论 CF230B T-primes

    CF230B T-primes 我们知道质数是只有两个不同的正数因数的正整数.相似的,我们把一个正整数 t 叫做 T质数,如果 t 恰好有三个不同的正整数因数. 你被给了一个含有 n 个正整数的数组. ...

  6. Python3学习札记

    1.- (按位取反) x的按位取反结果为-(x+1)   e.g. -5输出-6 更多细节,阅:http://stackoverflow.com/a/11810203 2.DocString约定 为一 ...

  7. java学习基础部分

    JVM虚拟机的位置: 垃圾回收在java程序运行过程中自动进行,程序员无法精准控制和干预. Java程序还会出现内存泄漏和内存溢出. Jre = jvm+java se标准类库 Jdk = jre + ...

  8. Boost内存池使用与测试

    目录 Boost内存池使用与测试 什么是内存池 内存池的应用场景 安装 内存池的特征 无内存泄露 申请的内存数组没有被填充 任何数组内存块的位置都和使用operator new[]分配的内存块位置一致 ...

  9. C. Ayoub and Lost Array Round #533 (Div. 2) 【DP】

    一.题面 链接 二.分析 关于这题,两个点. 第一个点,是需要能够分析出$[L,R]$区间的3的余数的个数. 首先,可以得到,$[L,R]$区间内共有$(R-L+1)$个数. 设定余数为0,1,2的为 ...

  10. [蓝桥杯][2015年第六届真题]机器人塔(dfs)

    题目描述 X星球的机器人表演拉拉队有两种服装,A和B. 他们这次表演的是搭机器人塔. 类似:      A     B B    A B A   A A B B  B B B A B A B A B ...