code review工具Review Board(二)-- 管理员

来源:互联网 发布:视频矩阵的工作原理 编辑:程序博客网 时间:2024/05/17 07:25

以管理员身份登录Review Board之后,会在右上角的下拉菜单上看到"Admin"的菜单选项,点选之后即进入管理员界面。



最左面一列是所有管理员可配置的项目。下面我们一块一块的来看。

  • System Settings
这部分需要注意的是E-mail和SSH两部分。需要配置邮件服务器,因为我们用的版本控制工具是git,因此需要在这里upload为review board用户创建的私钥。(注意,这里需要上传的不是公钥,是私钥。)

  • Manage
这部分需要设定群组和用户。最自然的分组方法就是按照项目来分,同一项目组的成员可以互相做code review。
Repositories的设置也很关键,我们用的是git,因此需要在server上创建git clone,并将填入如下图所示的位置。


这里需要特别指出的是:reviewboard server上的clone与git server的同步问题必须由用户自己解决。

当普通用户创建review请求时,他们上传的实际是包含版本号的diff文件(参见code review工具Review Board(三)-- 普通用户),code review server需要从本地的git working copy里拿到对应版本号的源文件,以组成完整的对比结果。如果客户端的提交失败,并且收到的错误是
Error uploading diffYour review request still exists, but the diff is not attached.
这很可能是因为working copy没有同步,解决的办法是登陆到reviewboard server,进入对应的目录,例如上图中的/home/irenejia/review-repo/csi,运行命令“git pull”,获取git服务器上的最新更新。当然,这个操作不能总是需要手工完成,我们必须在ubuntu里设定一个schedule,让其定时的执行更新操作。我是这样做的:
如果你也像我一样喜欢类似于windows这样的界面操作,你一定会喜欢GUI的gnome-schedule程序,而不是纯文本编辑的crontab。在ubuntu上的安装也很简单,只要运行命令sudo apt-get install gnome-schedule。安装结束后运行"gnome-schedule"打开应用程序并选择创建"recurrent task"(反复运行的任务),就可以看到如下的图形编辑界面:

其中,"*/10"表示每十分钟运行一次,8-19表示早上8点到晚上7点之间,1-5表示周一到周五,运行的任务也很简单:bash rb-cron.sh。下面是我使用的rb-cron.sh代码,供大家参考。
#!/bin/bash
for i in `ls review-repo`;
do
cd $HOME/review-repo/$i
echo $(git pull)
done
exit 0