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]
- グーグル
「システム開発」 のバックナンバー
-
トランスコスモス、マイクロラボのExcelによるDB連携ウェブアプリ開発ツールを販売開始
トランスコスモスは、マイクロラボと販売代理店契約を締結し、マイクロラボ製品であるExcelを使ったウェブデータベースアプリケーション開発ツール「X・Cute(エックス・キュート)」の販売を開始したと発表した。あわせて、オンサイトや受託による開発サービスも開始する。 -
インテル、高性能コンピューティングの研究でフランスの機関と協力
-
マイクロソフト、「.NET Micro Framework」をオープンソース化
-
ARM、Android搭載機器の開発を促進するアライアンスを設立
-
BSP、帳票システム構築ミドルウェア最新版--データ連携の効率化図る
- システム開発 一覧へ »
-
POSデータを活用し、売上アップを導く「分析力」とは?
- 日本モバイルインターネット端末市場分析 〜2008〜2012年のMID及びスマートフォン...
- ストレージ問題の課題に対する解決方法
- HP LeftHandが仮想化環境の構築の効率を向上させた3社の事例集
- コスト削減に寄与するMDM(マスターデータマネジメント)
- iPhoneをビジネスで活用する時代へ〜ビジネス&モバイルのミライ〜
- Active Directoryの課題に関する調査結果と対処方法
- HP LeftHand SAN のパフォーマンス評価
- 精度の高いRFPを作成するためのサンプルRFI
- 企業コスト削減の傾向と対策 〜最新アプローチのトレンド〜
企画特集
-
―エン・ジャパン厳選求人☆毎週更新―
ハンゲームの社長が語る・人材とサービスの在り方 -
グリー、3人のエンジニアが語る仕事への想い
連載第2話、元SIerに聞くリニューアルと開発の舞台裏 -
大丈夫?あなたの会社のセキュリティ対策
中堅・中小企業のネットワーク・セキュリティを考える -
【最終警告】パンデミック対策特集
サービス品質を保証するためのリスクマネジメントとは -
企業ITシステムの企画、構築、運用のイロハ
戦略的なITシステムのために、今考えるべきポイント -
100万円で実現!中小企業の情報漏えい対策
中小企業の課題!?セキュリティ管理者不在でも大丈夫 -
電力に"ふた"をする独自の省エネ機能とは!?
動的に電力割り当ても可能なHPの最新鋭ブレードに迫る -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
高まるiSCSIストレージへの注目度
ストレージシステムの4つの課題とiSCSI導入のメリット -
J-SOX法制定により内部統制の整備が急務に
重要性高まるActive Directoryの課題と対処法を公開中 -
急増するオンライン犯罪への解決策!
オンラインサービス保護ソリューション -
容量制限によるメール消去は一切無し!
全てを保存するメールセキュリティSaaSが登場 -
VMware OEMベンダー6社を独占インタビュー
IBM、HP、NEC、DELL、日立、富士通のVMwareの取り組み
ZDNet Japan イベント
- 開催日:2009年11月26日(木)
- イベント一覧へ»
-
17. Intel Threading Building Blocks
オライリーブックから出版されている「Intel Threading Building Blocks... -
18. Intel Integrated Performance Primitives
単に最適化コンパイラを使うよりもパフォーマンスを良好にするルーチン...
