ReviewBoardのインストール方法
Python製コードレビューWebシステムReviewBoardをインストールできたので、その設定方法をメモ。
【元ネタ】
Documentation - reviewboard - Documentation for Review Board - Google Code
Review Board | Take the pain out of reviewing code
ReviewBoardのインストール | Ryuzee.com
monospace blog ? オンラインソースコードレビューツールのReviewBoardをインストールしてみた
monospace blog ? ソースコードレビューツールReviewBoardの使い方メモ 前編
monospace blog ? ソースコードレビューツールReviewBoardの使い方メモ 後編
monospace blog ≫ ReviewBoardを使ったコードレビューのワークフロー
【必須の環境】
以下、CentOSで下記ツールはインストール済みとする。
Python version 2.4 or higher
Django version 0.97 or higher
PIL - The Python Imaging Library
patchutils
MySQL 5.0.31 or higher
MySQL-python
Subversion
pysvn
【1】インストール方法
1.MySQLでReviewBoard用データベース作っとく。
mysql -u root
create database reviewboard character set utf8;
↓
ついでに、ReviewBoard用ユーザも作る。
grant create, select, insert, update, delete, alter, lock tables on reviewboard.* to 'reviewboard'@'localhost' identified by 'reviewboard';
flush privileges;
2.ReviewBoardのソースを持ってくる。
svn checkout http://reviewboard.googlecode.com/svn/trunk/reviewboard reviewboard
chmod -R 777 reviewboard
↓
次に初回アクセスだからディレクトリを作る。
cd reviewboard
mkdir htdocs/media/images
chmod -R 777 htdocs/media
3.設定ファイルへMySQL設定を追記する。
cp -ip settings_local.py.tmpl settings_local.py
DATABASE_ENGINE = 'mysql' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
DATABASE_NAME = 'reviewboard' # Or path to database file if using sqlite3.
DATABASE_USER = 'reviewboard' # Not used with sqlite3.
DATABASE_PASSWORD = 'reviewboard' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost.
DATABASE_PORT = '' # Set to empty string for default.
↓
SECRET_KEYの生成は1行で書けます。
python -c "import random;CHARS = 'abcdefghijklmnopqrstuvwxyz0123456789%^&*(-_=+)';print ''.join([random.choice(CHARS) for x in range(50)])"
↓
これをSECRET_KEYの値として設定する。
# Make this unique, and don't share it with anybody.
SECRET_KEY = 'p8923yaernva4tqkwdavo8qi2v7349qc3q23479-p123youwidhoq8923yco'
↓
ついでに、時間と言語も設定する。
TIME_ZONE = 'Asia/Tokyo'
LANGUAGE_CODE = 'ja'
4.初期化テーブルの作成で下記コマンドを実行。
RailsみたいにMySQLにテーブルが作られます。
python manage.py syncdb
↓
djangoサーバをノーハングアップで稼動させる。
nohup python manage.py runserver IPアドレス:8000 &
↓
http://IPアドレス:8000/dashboard/
で起動する
↓
これでようやく画面が出る。
ID・PW:reviewboardでログインできる。
但し、ログを見ると、下記ライブラリも必要みたい。
Pygments
ハイライト表示機能
Installing PyLucene
全文検索機能
memcached
メモリキャッシュ
【2】他Blogを見ながら、管理画面で色々設定する。
下記に色々説明がある。
Review Board | Media and Links
Review Board - a set on Flickr
ReviewBoardで興味を惹いたのは、バグ管理システムと連携できる点だ。
コードレビューのコメントを書く時、バグ管理IDを入れると、該当チケットにリンクする。
この機能のおかげで、コードレビューで修正やリファクタリングが発生したら、チケットで作業状態を追跡できる。
つまり、チケットの発生源はReviewBoard、実際のタスク管理はRedmineで行う運用になる。
おそらく下記の記事のような運用フローになるだろう。
monospace blog ≫ ReviewBoardを使ったコードレビューのワークフロー
TestLinkでも似たような運用になる。
つまり、バグの発生源は普通、テストケースをテストして判明するから、TestLinkの失敗したテストケースにバグ管理IDを紐づける機能がある。
このおかげで、テスト工程やバグ発生源はTestLink、実際のバグ修正の管理はRedmineのように運用できる。
従って、変更管理プロセスはRedmineでやるが、変更要求はTestLinkやReviewBoardから発生するという流れになる。
最近強烈に感じるのは、ツールの運用で開発プロセスが大きく改善されることだ。
コードレビューはペアプロの代替手段という効用もあるから、色々試してみようと思う。
| 固定リンク
「プログラミング」カテゴリの記事
- テスト駆動開発が抱える問題は可読性と保守性のトレードオフ #dxd2021 #streamA(2021.04.10)
- Ruby技術者認定試験の感想(2020.05.08)
- 前処理大全の良いところ~SQLとRとPythonで対比できる(2019.07.10)
- WinSCPでトンネリングする方法のリンク(2018.09.09)
- 仕様書にもExcel脱却が求められている(2017.12.23)
「プロジェクトマネジメント」カテゴリの記事
- プロジェクトのリスクはコストの増減で管理する(2021.04.08)
- 沢渡さんの資料「テレワークに役立つ8つのスキル」はいいね(2021.04.04)
- プロジェクト管理手法はプロジェクト型開発からプロダクト型開発へ変えるべきだ(2021.04.01)
- ソフトウェア開発は打ち合わせ駆動開発だ(2021.03.30)
- ITの技術や知識はツールの習得と表裏一体である(2021.03.26)
「ソフトウェア工学」カテゴリの記事
- テスト駆動開発が抱える問題は可読性と保守性のトレードオフ #dxd2021 #streamA(2021.04.10)
- プロジェクト管理手法はプロジェクト型開発からプロダクト型開発へ変えるべきだ(2021.04.01)
- ソフトウェア開発は打ち合わせ駆動開発だ(2021.03.30)
- ソフトウェア開発のチームは人数が増えるとプロジェクトは失敗する経験則がある(2021.03.30)
- ITの技術や知識はツールの習得と表裏一体である(2021.03.26)
最近のコメント