使用代码审查工具Review Board

你是否知道Review Board?

有一个名为Review Board的Web代码审查工具。作为其特点,它提供了紧凑的功能,专注于代码审查并且足够满足需求。

在Review Board中,当提交代码的差异时,它会被视为请求,并且可以在请求中进行评论和在代码差异上做指示。此外,通过随后注册差异本身,还可以对差异进行版本管理和比较。你可以在演示网站上查看实际运行的内容。

现在,我们正在使用Git并将其与此相结合作为审查环境。

引入过程

假设我们使用的是CentOS,并且预装了Apache和MySQL。请注意,这些信息是基于一个较旧的版本,现在可能会有些不同…

1. 使用yum进行安装。

使用 yum 命令安装 ReviewBoard

2. 准备MySQL

如果将DB的字符编码设置为utf-8,则可以使用日语。
设置完成后,需要重新启动mysql。

[mysql]
default-character-set=utf8

[mysqld]
character-set-server = utf8

尽管公式的流程中没有提到,但事先需要创建数据库管理用户和模式。

# mysql
mysql> CREATE DATABASE reviewboard;
mysql> GRANT ALL ON reviewboard.* TO reviewboard@localhost;
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR reviewboard@localhost=password('reviewboard');
mysql> exit
3. 论文审核委员会的初始化

在中国原生的汉语中,对以下内容进行释义,仅需要一个选项:
rb-site install /var/www/reviewboard

使用rb-site命令在/var/www/reviewboard上进行安装Review Board。

只需按照指示去做就可以了。DB请指定为刚刚创建的那个。

我认为会出现memcache的选择,但即使没有安装memcache也可以运行。如果只有几个人使用,性能上也不会有问题。

4. Apache设置

当您访问通过3创建的网站时,可能会要求您进行各种设置。
我所需求的如下所示。

授予权限
# chown -R apache:apache /var/www/reviewboard/
配置生成的文件
# cp /var/www/reviewboard/conf/apache-wsgi.conf /etc/httpd/conf.d/apache-reviewboard.conf
重新启动httpd

5. 开始设置

我相信至少已经实现了这一点。接下来需要登录到admin,添加仓库并进行其他各种设置。
我所做的设置如下所示。

    • Generalから Time Zone を Asia/Tokyo に変更

 

    • Emailから Send e-mails for review requests and reviews にチェック、Senderを設定

 

    • Loggingから /var/www/reviewboard/logs に Error で出力するよう設定

 

    • グループにITメンバー用のMLを追加

 

    SSHから Gitリポジトリアクセス用のSSH秘密鍵を登録
6. 与Git的协作

为每个Git存储库在ReviewBoard中注册存储库,并使其能够获取差异。据说可以指定Github等来进行存储库注册……还可以指定本地存储库。连接Review Board时使用的密钥可以像前述的那样在管理界面中进行注册。

在Git仓库中开发时,远程URL和在Review Board中注册的仓库路径或镜像路径不一致可能会导致无法正常工作。如果安装了gitweb,可以进行远程访问,但在当前环境下,我们将在Review Board服务器上放置镜像并通过它来查看。

对此的使用感受

优势
    • コードレビューツールとしては申し分ない

 

    • UIが作りこまれている(状態更新の通知など)

 

    レビューが独立しているため自由度が高い
少许不足
    • リポジトリ登録がめんどくさい

 

    • 差分の登録がめんどくさい

 

    • 他のシステムと連動させられない

 

    • 英語表記

 

    日本語のドキュメントがない
总结

由于作为一个独立的代码审查工具,它具有很高的灵活性,安装它不会增加太多麻烦,但可能会感到烦恼的是负责审查的工作。如果要重新构建工作流程,可以考虑使用github、bitbucket、gerrit或gitlab等工具。而且它不限于Git,可以根据需求进行各种用途的实施。

    • 運用が軌道に乗った状態を活かしつつ、レビューをツールをつかって効率化する。

 

    レガシーな環境で、自分のPCに入れて小さく始めてみる。

我认为这是一个非常适合各种用途的灵活实用工具。

广告
将在 10 秒后关闭
bannerAds