Review Boardを使うための環境構築
本稿では、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に接続してくれます。
Web APIに将来性を見た!
以上、Review Boardの使い方を見ていきましたが、いかがでしたでしょうか。Review Boardを利用することにより、属人的だったレビューの“管理”ができるようになります。レビュー証跡も自動的に記録されるので、品質の監査などが厳しいプロジェクトでは便利だと思います。
コミット前にレビューを行うプレコミット方式が可能なため、リポジトリ上のソースにバグが混入してほかの開発に迷惑を掛けるといった事態を防げます。
post-reviewコマンドはReview BoardのWeb APIを利用してWebブラウザへアクセスする仕組みです。このWeb APIを利用すれば、Eclipseなどの統合開発環境からレビューを依頼するツールを作ることもできます。筆者はコードレビューを行うツールとしてReview Boardに将来性を感じています。
- exe/dmgしか知らない人のためのインストール/パッケージ管理/ビルドの基礎知識
- これでGitも怖くない! GUIでのバージョン管理が無料でできるSourceTreeの7つの特徴とは
- DevOps時代の開発者のためのOSSクラウド運用管理ツール5選まとめ
- GitHubはリアルRPG? そして、ソーシャルコーディングへ
- ついにメジャーバージョンUP! Eclipse 4.2の新機能7選
- いまアツいアジャイルプロジェクト管理ツール9選+Pivotal Tracker入門
- Git管理の神ツール「Gitolite」なら、ここまでできる!
- Java開発者が知らないと損するPaaSクラウド8選
- Eclipse 3.7 Indigo公開、e4、Orion、そしてクラウドへ
- AWSの自由自在なPaaS「Elastic Beanstalk」とは
- Ant使いでもMavenのライブラリ管理ができるIvyとは
- 「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門
- Bazaarでござ〜る。猿でもできる分散バージョン管理“超”入門
- Review Boardならコードレビューを効率良くできる!
- Team Foundation ServerでJava開発は大丈夫か?
- コード探知機「Sonar」でプロジェクトの深海を探れ!
- 単体テストを“神速”化するQuick JUnitとMockito
- Java EE 6/Tomcat 7/Gitに対応したEclipse 3.6
- AzureのストレージをJavaで扱えるWindowsAzure4j
- 究極の問題解析ツール、逆コンパイラJD-Eclipseとは
- AWS ToolkitでTomcatクラスタをAmazon EC2上に楽々構築
- DB設計の神ツール「ERMaster」なら、ここまでできる
- Webのバグを燃やしまくるFirebugと、そのアドオン7選
- Googlerも使っているIntelliJ IDEAのOSS版を試す
- JUnit/FindBugs/PMDなどを総観できるQALab/Limy
- ブラウザを選ばずWebテストを自動化するSelenium
- Eclipse 3.5 Galileoの「実に面白い」新機能とは
- App Engine/AptanaなどJavaクラウド4つを徹底比較
- Aptanaなら開発環境とクラウドの連携が超お手軽!
- 分散バージョン管理Git/Mercurial/Bazaar徹底比較
- SubversionとTracでファイル管理の“迷宮”から脱出
- Trac Lightningで始めるチケット式開発「電撃」入門
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- “読み方”を知って、レビューをもっと効果的に
連載:ソフトウェアレビュー入門(3) - キミのコードが汚い理由
The Rational Edge - 単体テストの品質をチェックするには
明日からできるプロジェクト管理(4) - 効果的なレビューとそのフォロー【前編】
現場の声からプロセス改善を深堀りする(4) - 実践的コード・レビュー
連載:Team Foundation Server 2008の適用(3)