hudsonによる継続的統合
社内のJavaプロジェクトで、hudsonを使用して毎晩ビルドを実行している。
が、なかなか全体ビルドが通らない。
エラー1:この文字は、エンコーディング UTF-8 にマップできません。
原因:ソースコードがUTF-16だった。
エラー2:\65279 は不正な文字です。
原因:ソースコードが、BOMありのUTF-8だった。
エラー3:シンボルを見つけられません。
原因:自分が変更したソースをすべてコミットしていない。これが一番多いエラー
このプロジェクトメンバーはJavaの経験が浅いのがいけないのか、SVNを使った経験が浅いのがいけないのか、
両方かもしれないが、自分の作ったソースをすべてコミットしない方や、エラーであってもコミットしてしまう方がいるみたい。
そんなに開発者は多くないのに。毎晩ビルドを開始して一か月くらい経過するけど、全体ビルドが成功したのは一割程度。こんなものでしょうかね。
このプロジェクトではfindBugs,checkstyle,emma,junitの結果をレポートにしていますが、ソースコードの行数がわかりません。
数多くあるhudsonのレポートツールを探したのですが、見当たりませんでした。仕方ないので別のツールとしてstatSVN(0.7.0)とMetrics plugin for Eclipse(1.3.6)を使用してみました。
- statSVN(http://www.statsvn.org/)
これは、まずSVNからチェックアウトしてきたワーキングディレクトリで以下のコマンドを実行します。
次にダウンロードしたstatSVNのjarファイルを用意して次のように実行します。
C:\workdir> svn log --xml -v > svn.log
すると、C:\htmlに解析結果が出力されるので、あとはindex.htmlを見るだけです。
C:\workdir> java -jar statsvn.jar svn.log C:\workdir -exclude "**/*.xls" -include "**/*.java" -output-dir C:\html
- Metrics plugin for Eclipse
これはプラグインのインストールでOKなので、手順は省略します。サイトはhttp://metrics.sourceforge.net/updateです。