Google Codeに「Review Board」というプロジェクトが追加された。Djangoを使って開発されたWebベースのソースコードトラッキングシステムだ。ライセンスについて、Review BoardのサイトにはThe MIT Licenseと記載されているが、成果物に含まれているライセンスファイルはなぜかApache Software License Version 1.1。どのみちオープンソースソフトウェアではある。
VMwareとともに動作するという興味深い特徴があるが、VMwareなしでも使うことは可能だ。今のところサポートしているリポジトリはSubversionとPerforceだ。
CVSであればCVSWebなど、リポジトリにWeb経由でアクセスするためのアプリケーションは存在する。Review Boardは同じジャンルのシステムだが、扱いやすさや複数リポジトリへの対応など、今後が期待できるものとなっている。
公開されて間もないこともあって、インストールなどはまだまだ手間がかかる。とはいえ、順次必要なコンポーネントを用意していけば問題なく動作するので試してみよう。必要なものはWikiの"Basic Dependencies"を参照のこと。
Review Boardのソースコードは執筆現在、アーカイブでの提供は行われていないので、Subversionクライアントを使って取得する。
% svn checkout http://reviewboard.googlecode.com/svn/trunk/ reviewboard
次に、設定ファイルsettings_local.pyをコピーして編集する。SQLite3を使ってlocalhostで動作させる場合は、次のようなファイルを用意する。MySQLよりもSQLiteを使う方が簡単なので、試すだけならSQLite3を使った方がいい。設定内容はファイル内のコメントに説明が書いてあるので、それにしたがって作成しよう。
Review Board設定ファイルをテンプレートからコピー
% cd ./reviewboard/reviewboard/
% cp settings_local.py.tmpl settings_local.py
settings_local.pyファイルの編集例 - SQLite3とlocalhostを使う場合
DATABASE_ENGINE = 'sqlite3' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
DATABASE_NAME = 'reviewboard.sqlite' # Or path to database file if using sqlite3.
DATABASE_USER = '********' # Not used with sqlite3.
DATABASE_PASSWORD = '********' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
# Make this unique, and don't share it with anybody.
SECRET_KEY = 'p8923yaernva4tqkwdavo8qi2v7349qc3q23479-p123youwidhoq8923yco'
CACHE_BACKEND = 'locmem:///'
SEND_REVIEW_MAIL = False
あとは成果物に含まれているスクリプト(manage.py)を使ってデータベースを初期化する。途中、管理者権限のユーザを作成するので、入力したユーザ名とパスワードを忘れないように。
データベースを初期化
% ./manage.py syncdb
Creating table django_admin_log
Creating table auth_message
Creating table auth_group
Creating table auth_user
Creating table auth_permission
Creating table django_content_type
Creating table django_site
Creating table django_session
Creating table accounts_profile
Creating table diffviewer_diffset
Creating table diffviewer_diffsethistory
Creating table diffviewer_filediff
Creating table reviews_comment
Creating table reviews_group
Creating table reviews_quip
Creating table reviews_screenshot
Creating table reviews_review
Creating table reviews_reviewrequestdraft
Creating table reviews_reviewrequest
Creating table reviews_screenshotcomment
Creating table scmtools_tool
Creating table scmtools_repository
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes ←ここでyesと入力
Username (Leave blank to use 'testuser'): ←ユーザ名を入力
E-mail address: testuser@example.com ←メールアドレスを入力
Password: ←パスワードを入力
Password (again): ←パスワードを再度入力
Superuser created successfully.
Installing index for admin.LogEntry model
Installing index for auth.Message model
Installing index for auth.Permission model
Installing index for accounts.Profile model
Installing index for diffviewer.DiffSet model
Installing index for diffviewer.FileDiff model
Installing index for reviews.Comment model
Installing index for reviews.Review model
Installing index for reviews.ReviewRequestDraft model
Installing index for reviews.ReviewRequest model
Installing index for reviews.ScreenshotComment model
Installing index for scmtools.Repository model
Loading 'initial_data' fixtures...
Installing json fixture 'initial_data' from '/usr/home/testuser/reviewboard/reviewboard/../reviewboard/scmtools/fixtures'.
Installed 2 object(s) from 1 fixture(s)
%
これでインストールは完了だ。
インストールが失敗するんだけど…… という場合は
次のような表示が出て、インストールが失敗することがある。これはpysqlite2モジュールがないというものなので、システムに用意されているパッケージ管理システムなり、成果物をダウンロードしてきてインストールするなり、自力でコンパイルするなりしてインストールすることになる。
Review Boardが動かない - 必要なPythonモジュールが用意されていないので、追加インストール
% ./manage.py syncdb
Traceback (most recent call last):
File "./manage.py", line 11, in ?
execute_manager(settings)
File "/usr/local/lib/python2.4/site-packages/django/core/management.py", line 1672, in execute_manager
execute_from_command_line(action_mapping, argv)
File "/usr/local/lib/python2.4/site-packages/django/core/management.py", line 1571, in execute_from_command_line
action_mapping[action](int(options.verbosity), options.interactive)
File "/usr/local/lib/python2.4/site-packages/django/core/management.py", line 486, in syncdb
from django.db import connection, transaction, models, get_creation_module
File "/usr/local/lib/python2.4/site-packages/django/db/__init__.py", line 11, in ?
backend = __import__('django.db.backends.%s.base' % settings.DATABASE_ENGINE, {}, {}, [''])
File "/usr/local/lib/python2.4/site-packages/django/db/backends/sqlite3/base.py", line 18, in ?
raise ImproperlyConfigured, "Error loading %s module: %s" % (module, e)
django.core.exceptions.ImproperlyConfigured: Error loading pysqlite2 module: No module named pysqlite2
%
筆者はFreeBSDで動作確認をとっている。この場合、pysvnやp4pythonはPorts Collectionに入っていないので、自力ビルド&インストールがちょっと面倒だったりする。ほかにもlibresolvはlibcに統合されているので、コンパイルオプションからはずさないとpysvnはコンパイルできないので注意だ。
関連情報
-
MS、.NET版Pythonのベータをリリース
マイクロソフトが先週末にリリースした「IronPython 1.0 Beta 1」は、ほかのすべての.NETプログラミングフレームワークと「密接に統合」されており、Pythonのプログラマーはどの.NETライブラリも「容易」に利用できるようになるという。 - Python 2.5、正式版リリースに一歩近づく
- オープンソース・コード管理アプリ「CVS」と「Subversion」に脆弱性 [From CNET Japan]
- 日立ソフト、CVSなどと連携可能なJavaコード検査ツールを発表 [From CNET Japan]
- オープンソース・コード管理アプリ「CVS」に6つの脆弱性--セキュリティ研究者らが発見 [From CNET Japan]
- グーグル
「システム開発」 のバックナンバー
-
VA Linux、クラウド基盤の導入を支援する新サービス「Cloud Quest」を発表
VA Linux Systems Japanは、クラウドコンピューティング技術の活用および基盤構築を支援するサービス「Cloud Quest」(クラウド・クエスト)の提供を開始した。 -
モジラ、携帯ブラウザ「Fennec」の「Android」搭載に意欲
-
グーグル、「Android」用のネイティブコード開発キットをリリース
-
Excelレガシーに1つの解:OSSの帳票ツール「ExCella Reports」などが公開
-
2009年の国内IT市場規模、3.8%減に--IDC Japanが予測
- システム開発 一覧へ »
ZDNet Japan Essential Topic
-
企業が幸せになるための3つの視点とは?
アプリケーション導入に迷われている方はこちらへ -
仮想化、復習しませんか?
この特集で仮想化のパターンがわかります
企画特集
-
ESBでIT投資の無駄を劇的に解消する
IBM IMPACT 2009を徹底レポート! -
SOA、BPM、SaaS −今、企業に必要なこと
ビジネス・アプリケーションの今を網羅する特設サイト -
◆エン・ジャパン厳選求人☆毎週更新◆
不況下でも急成長の秘訣とは?注目企業の取組みも公開! -
ロリポップ!がリニューアル
【第1回】創業者の家入一真氏が語る誕生秘話!! -
セキュリティ&ユーザ事例【SIer Club】
最新のセキュリティ情報と提案事例が満載 -
そのストレージで仮想化に対応できますか?
メリット盛りだくさんのサンのオープンストレージ製品 -
インターネット上の悪意を未然に防ぐには?
ブラウザに備わったセキュリティ機能を徹底解説 -
【徹底対談】運用管理ツールの賢い使い方
市場背景〜仮想化管理までアナリストが解説! -
集積度も性能も、業界最高水準のブレードPC
サーバの実装技術を、シン・クライアントへ応用 -
ストレージメディア特設サイト開設
仮想化環境において最適なソリューションを! -
仮想環境を実現するソリューション特集
仮想化導入時、こんなところ気にしてますか? -
パンデミック対策特集
2009年のパンデミック発生から再考する事業継続計画 -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
今注目の「サジェスト検索」−デモ掲載中
システムのユーザビリティに革命を起こす技術とは -
中小企業のセキュリティリスクとは?
導入する側・される側 得するセキュリティ製品 -
サービス・ドリヴン・データセンター
コスト効果の高いデータセンター構築には? -
サーバー監視・運用のコストを削減するには
エージェントレス方式を用いたパトロールクラリスで -
エンタープライズにおけるSUSEの強み
次世代データセンターの基盤は11だ。 -
■ストレージ容量50%削減保証■
ネットアップによる削減保証キャンペーン実施中
ZDNet Japanからのお知らせ
- ご回答にはCNET_IDご登録が必要です。
-
11. Lock分析とWait分析
この3分間のビデオでは、アプリケーションのクリティカルセクションを分... -
12. 高度な診断
この3分間のビデオでは、Intel parallel Composerが、Intel C++コンパイ...
新着企業動向
-
シヤチハタ株式会社の電子印鑑対応ワークフローシステムに
システム連携ツール”jBOLT EXpedit...
マジックソフトウェア・ジャパン -
材料メーカー様向け環境ソリューション先進事例セミナー
富士通システムソリューションズ -
先着100名様限定!VPS月額料金最大3ヶ月キャッシュバックキャンペーン
GMOホスティング&セキュリティ -
SecureCube / PC Check
NRIセキュアテクノロジーズ - 企業動向一覧へ»
幸い今回は弱毒性で大事には至らなかったが、まだ油断はできない。企業活動を停止すると、大きな経済的損害や社会的信用の低下を招いてしまう。
サーバやOS、アプリケーションなどの世界ではオープンソーススタンダードが市場を牽引する現在、ストレージの世界でもオープン化の流れが始まっている。 
