本稿では、OSにUbuntu 10.10を利用したインストール例を紹介します。他の環境の場合は、適宜パッケージ名などを読み替えてください。
Review BoardはPythonで記述されています。WebサーバとしてlighthttpdかApacheが必要です、データベースとしては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の画面が表示されていればインストールは成功です。
右上の[Login]リンクからReview Boardに「admin」ユーザーでログインします。最初に管理者情報の入力画面が表示されるので、管理者情報を入力しておきましょう。ログインが完了すると、管理者情報の入力を求められるので、氏名やメールアドレスを入力してください。
ログインしたら、最初に[admin]のメニューをクリックすると、図8が表示されます。
管理画面のメニューは次の通りです。
メニュー | 説明 |
---|---|
Users | Review Boardのユーザーを管理 |
Review groups | レビューするグループを管理 |
Default reviewers | レビュー実行者を指定しなかったときのデフォルトのレビュー実行者を設定 |
Repositories | リポジトリを設定 |
表1 管理画面のメニュー |
管理画面のRepositoriesメニューからユーザーとレビューグループを作成し、レビュー実行者をレビューグループに含めます。画面を見れば分かると思いますので、詳細は省略します。
レビューを行うソースコードのリポジトリを設定します。
以下、入力項目について説明します。
項目 | 説明 |
---|---|
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に接続してくれます。
以上、Review Boardの使い方を見ていきましたが、いかがでしたでしょうか。Review Boardを利用することにより、属人的だったレビューの“管理”ができるようになります。レビュー証跡も自動的に記録されるので、品質の監査などが厳しいプロジェクトでは便利だと思います。
コミット前にレビューを行うプレコミット方式が可能なため、リポジトリ上のソースにバグが混入してほかの開発に迷惑を掛けるといった事態を防げます。
post-reviewコマンドはReview BoardのWeb APIを利用してWebブラウザへアクセスする仕組みです。このWeb APIを利用すれば、Eclipseなどの統合開発環境からレビューを依頼するツールを作ることもできます。筆者はコードレビューを行うツールとしてReview Boardに将来性を感じています。
Copyright © ITmedia, Inc. All Rights Reserved.