Codestrikerのインストール方法
Perl製コードレビューWebシステムCodestrikerをインストールできたのでメモ。
但し、ReviewBoardに比べると、インストールははるかに難しかった。。
【元ネタ】
Perl製のソースコードレビューソフトウェア「Codestriker」
【必須環境】
以下、CentOS上で下記ツールはインストール済みとする。
Perl
Apache
下記のCPANライブラリ:
LWP::UserAgent(any)
CGI(v2.56)
Net::SMTP(any)
MIME::QuotedPrint(v2.14)
DBI(v1.13)
Template(v2.07)
HTML::Entities(any)
File::Temp(any)
XML::RSS(v1.05)
Encode::Byte(any)
Encode::Unicode(any)
DBD::mysql(any)
Authen::SASL(any)
上記のCPANを全てインストールするのがかなり面倒。。
ソースからインストールするよりも、yumやapt-getで入れた方が早いだろう。
【1】インストール方法
1.ソースを持ってくる。
tar zxvf codestriker-1.9.7.tar.gz
mv codestriker-1.9.7 codestriker
ln -s codestriker /var/www/cgi-bin/codestriker
2.MySQLへDB作成
mysql -u root
CREATE DATABASE codestrikerdb CHARACTER SET utf8;
GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP,
REFERENCES ON codestrikerdb.* TO codestriker@localhost
IDENTIFIED BY 'codestriker';
FLUSH PRIVILEGES;
3.CodeStrikerの設定ファイル「codestriker.conf」を編集する。
14行目:
$db = 'DBI:mysql:dbname=codestrikerdb;host=localhost;
mysql_socket=/var/lib/mysql.sock';
28行目:
# Database user.
$dbuser = 'codestriker';
# Database password.
$dbpasswd = 'codestriker';
$admin_users = [ '管理者のメールアドレス' ];
・・・・・
104行目あたりから、連携するバージョン管理システムを設定する。
4.インストール実行。
Railsのように、MySQLへテーブルが作られる。
./bin/install.pl
足りないCPANライブラリはメッセージ表示される。
5.Apacheのhttpd.confへ下記を追加する。
CodestrikerはPerlなので、CGIの設定方法と同じ。
ScriptAlias /codestriker/ /var/www/cgi-bin/codestriker/cgi-bin/
Alias /codestriker/html/ /var/www/cgi-bin/codestriker/html/
<Directory "/var/www/cgi-bin/codestriker/cgi-bin/">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
SetHandler cgi-script
</Directory>
<Directory "/var/www/cgi-bin/codestriker/html/">
AllowOverride None
Allow from all
</Directory>
↓
Apacheを再起動後、
http://IPアドレス/codestriker/codestriker.pl
で表示可能!
【2】Webシステムとしての使い勝手、色合いなどのUIは、ReviewBoardの方がいいと思う。
しかしながら、Codestrikerには下記のようなレビュー記録のメトリクスを出力する機能がある。
上記は、実施日ごとに、レビューのステータス(完了、解決、無効)とレビューコメント数を集計する。
この集計から、レビューの活発具合、レビューの貢献具合を見ることができる。
コードレビューWebシステムをレビュー工程の一プロセスへ含むように運用するには、いくつかのハードルを越える必要がある。
だが、レビューをもっとお手軽に行えて、更にはDBにあるレビュー記録からメトリクスを出力して、品質を測定できる可能性がある。
色々試してみたい。
| 固定リンク
「プログラミング」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのモジュールシステムは複雑性をより増している(2022.09.10)
- Javaはなぜ関数型言語になろうとしているのか(2022.09.02)
- Javaのラムダ式の考え方(2022.08.10)
- Javaはオブジェクト指向言語ではなく関数型言語だった~「[増補改訂]関数プログラミング実践入門」はお勧めの本だ(2022.08.06)
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
コメント