連載
» 2011年01月13日 00時00分 公開

Review Boardならコードレビューを効率良くできる!ユカイ、ツーカイ、カイハツ環境!(19)(3/3 ページ)

[岡本隆史,@IT]
前のページへ 1|2|3       

Review Boardを使うための環境構築

 本稿では、OSにUbuntu 10.10を利用したインストール例を紹介します。他の環境の場合は、適宜パッケージ名などを読み替えてください。

依存パッケージのインストール

 Review BoardはPythonで記述されています。WebサーバとしてlighthttpdApacheが必要です、データベースとしてはDjangoがサポートしているものが利用できます。

 今回は、ApacheとSQLiteを利用したセットアップ例を紹介します。まず、「apt-get install」コマンドでパッケージ「gcc」「python-dev」「python-svn」「python-setuptools」「sqlite3」「python-pysqlite2」「patch」「apache2」「libapache2-mod-wsgi」をインストールします。

 パッケージのインストールが完了したら、次のコマンドでReview Boardとレビューツールをインストールします。

# easy_install Review Board
# easy_install RbTools

サイトの作成

 インストールが完了したら、rb-siteコマンドでサイトを作成します。設定は次の例を参考にしてください。

# rb-site install /var/www/reviewboard
:
:
* What's the host name for this site?
:
:
Domain Name: mydomain.com
(※サーバのドメイン名を入力します)
 
* What URL path points to Review Board?
:
:
Root Path [/]: /
(※Review BoardのWebサイトのパスを指定します)
:
* What URL will point to the media files?
:
:
Media URL [media/]:
(※画像、JavaScript、CSSなどの静的なファイル置き場を指定しますが、そのままにします)
 
* What database type will you be using?
:
:
    (1) sqlite3
 
Database Type: 1
(※データベースを選択します)
 
* What cache mechanism should be used?
:
:
    (1) memcached
    (2) file
 
Cache Type: 2
(※キャッシュの実装を選択します)
 
* Where should the temporary cache files be stored?
:
:
Cache Directory [/tmp/reviewboard_cache]:
(※キャッシュディレクトリを指定します)
 
* What web server will you be using?
    (1) apache
    (2) lighttpd
 
Web Server: 1
(※Webサーバを選択します)
 
* What Python loader module will you be using?
:
:
    (1) modpython
    (2) fastcgi
    (3) wsgi
 
Python Loader: 3
(※PythonをApacheにロードする方法を指定します)
 
* Create an administrator account
:
:
Username [admin]:
 
Password:
 
E-Mail Address: toraneko@hoge.com

 サイトの作成が完了したら、Apacheからアクセスできるようにアクセス権を変更します。

# sudo chown www-data -R /var/www/reviewboard/

 Review Boardのサイト用に作成されたApacheの設定ファイルで、Apacheのデフォルトの設定ファイルを上書きします。

# cp /var/www/reviewboard/conf/apache-wsgi.conf /etc/apache2/sites-enabled/000-default

Apacheを再起動すれば、設定は完了です。

# /etc/init.d/apache2 restart

動作確認

 「http://【ホスト名 or IP】/」にアクセスして、下記のReview Boardの画面が表示されていればインストールは成功です。

図7 Review Boardのアクセス画面 図7 Review Boardのアクセス画面

 右上の[Login]リンクからReview Boardに「admin」ユーザーでログインします。最初に管理者情報の入力画面が表示されるので、管理者情報を入力しておきましょう。ログインが完了すると、管理者情報の入力を求められるので、氏名やメールアドレスを入力してください。

ユーザー作成とリポジトリの設定

 ログインしたら、最初に[admin]のメニューをクリックすると、図8が表示されます。

図8 TFSのチームメニュー 図8 管理画面

 管理画面のメニューは次の通りです。

メニュー 説明
Users Review Boardのユーザーを管理
Review groups レビューするグループを管理
Default reviewers レビュー実行者を指定しなかったときのデフォルトのレビュー実行者を設定
Repositories リポジトリを設定
表1 管理画面のメニュー

ユーザー作成

 管理画面のRepositoriesメニューからユーザーとレビューグループを作成し、レビュー実行者をレビューグループに含めます。画面を見れば分かると思いますので、詳細は省略します。

リポジトリの設定

 レビューを行うソースコードのリポジトリを設定します。

図9 リポジトリの設定画面 図9 リポジトリの設定画面

 以下、入力項目について説明します。

項目 説明
Name リポジトリ名を入力
Hosting service 「GitHub」「BitBucket」「GoogleCode」「SourceForge」「Custom」を利用できる。自前で用意したリポジトリを利用する場合、「Custom」を選択
Reopsitory type リポジトリのタイプを選択
Path リポジトリのURLを入力。画面はリモートマシン上のリポジトリを設定する例だが、ローカルマシンのリポジトリも扱える。認証が必要な場合は[Username][Password]欄も入力
Type バグトラッカーの種類を指定
Bug tracker URL バグトラッカーのURLを指定。設定しておくと、レビューにバグトラッキングシステムへリンクできる
Encoding ソースコードがutf-8以外の場合に指定
表2 リポジトリの設定画面の入力項目

 なおSubversionでは、チェックアウトしたリポジトリのルートディレクトリで、次の設定をしておいてください。

$ svn propset reviewboard:url http://192.168.1.7(Review BoardのURL) .

 プロパティでReview BoardのURLを設定しておくと、先に紹介したpost-reviewコマンドで自動的にReview Boardに接続してくれます。

Web APIに将来性を見た!

 以上、Review Boardの使い方を見ていきましたが、いかがでしたでしょうか。Review Boardを利用することにより、属人的だったレビューの“管理”ができるようになります。レビュー証跡も自動的に記録されるので、品質の監査などが厳しいプロジェクトでは便利だと思います。

 コミット前にレビューを行うプレコミット方式が可能なため、リポジトリ上のソースにバグが混入してほかの開発に迷惑を掛けるといった事態を防げます。

 post-reviewコマンドはReview BoardのWeb APIを利用してWebブラウザへアクセスする仕組みです。このWeb APIを利用すれば、Eclipseなどの統合開発環境からレビューを依頼するツールを作ることもできます。筆者はコードレビューを行うツールとしてReview Boardに将来性を感じています。


「ユカイ、ツーカイ、カイハツ環境!」バックナンバー
前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。