平田です。
@ITの記事を参考に、コードレビューシステムのReview Boardを調査しました。
インストール
まずは、マニュアルを読みながらReview Boardのインストールです。VMware上のUbuntu 11.04に入れました。以下、注意点など。
- マニュアルはRDBMSとWebサーバが既に入っているものとして書かれています。私はMySQLとApache 2.2をapt-get installしました。
- 後述するセットアップ手順のマニュアルには、Webサーバとアプリケーションとの連携にはmod_wsgiが推奨されています。これもapt-get installします。ちなみにWikipediaによるとWSGIはウィスキーって読むみたいです。
- MySQLバインディングをインストールする際、「mysql_config not found」というエラーが出ました。ので、apt-get install libmysqlclient-devします。
サイト生成
ミドルウェアを一通り入れたらReview Boardサイトを生成します。マニュアルはこちら。
- あらかじめデータベースとユーザを作成しておく必要があります。
create database reviewboard default character set utf8; grant all privileges on reviewboard.* to reviewboard@localhost identified by 'reviewboard' with grant option;
- sudo rb-site install /var/www/reviews などとすると、GUIのウィザードが起動します。凝ってんなぁ。
- マニュアルに沿ってパーミッションを変更し、Apacheの設定ファイルをコピーした後、/etc/apache2/sites-enabled/000-defaultを削除する必要がありました(マニュアルの”Note”に書かれています)。
リポジトリ登録
サイト生成がうまくいけば、Review Boardにアクセスできるはずです。
Review Boardでは、ソースコードリポジトリを登録し、レビュー依頼にパッチを同梱することで差分表示できるようになります。http://localhost/admin/db/scmtools/repository/にアクセスし、ソースコードリポジトリを登録します。
クライアント証明書
調査に使ったプロジェクトでは、Subversionリポジトリにアクセスする際にクライアント証明書を必要とします。これは画面からは設定できません。
/var/www/reviews/data/.subversion/servers設定ファイルを編集し、クライアント証明書ファイルとパスフレーズなどを設定します。
[groups] your_group_name_here = foo.example.com [your_group_name_here] ssl-client-cert-file=/path/to/certfile ssl-client-cert-password=your-password-here
使ってみた感想
@ITの記事を参考に、レビューのワークフローを回してみました。レビューの依頼はコマンドラインツールから可能ですが、Pythonを入れるのが面倒だったのでパッチアップロードによるレビューリクエストで進めました。以下、感想です。
- レビューの依頼や、指摘事項のステータス管理など、TracやRedmineなどのチケット管理システムと機能的に重複している(似たような別のシステムを使いたくない)。
- コミット前レビューは良いような気もするけど、レビュアの時間が確保できない場合、コミットが遅れてしまう。コミットが遅れるとマージが発生しうる。それは嫌だ。
- Eclipse Pluginが動かない。
- コマンドラインツールはPythonから入れなくてはならない。それは嫌だ。
全体的にネガティブですね。ツール自体はイケてますが、私にマッチしないだけかもしれません。
ピンバック: ReviewBoardインストール手順まとめ(Ubuntu) | Futurismo