CI (Continuous Integration: 継続的インテグレーション)ツールのメモ

月刊JavaWorld 2006年6月号の特集「継続的インテグレーション」で良さそうなツールを見つけたのでメモ。開発中、stagingにログインしてビルドする作業って、インテグレーションの回数が多くなってくるとそれなりに負担だからいい加減自動化したいなー、と思っていたとこだったのでタイムリーな情報でした。

CIって何?

「インテグレーション作業を初期段階から頻繁(最低でも一日一回)に行うぞ」というシステム開発上のプラクティス。それぞれのインテグレーションは自動的にビルド(もちろんテストも)され、インテグレーションに関するエラーは即座に発見・報告される。インテグレーション時に起こる問題に対してのリスクヘッジ、インテグレーション作業のオーバーヘッド低減の効果大だよ。


参考)

気になるCIツール

本誌では6つのCIツールが紹介されてたんだけど、僕が気になったのは以下の二つ。Bittenを簡単にMaven2対応にできそうだったら断然Bitten。ダメそうならContinuumに一票。

Continuum

http://maven.apache.org/continuum/

  • Maven2と親和性高し
  • ○ インストール簡単そう
  • × 日本語のドキュメントなし
Bitten*1

http://bitten.cmlenz.net/

  • Tracプラグインなので、完全にTracと統合されている
  • ○ マスタ-スレーブ型 - 自分の場合の使い道が分からないけど
  • × Mavenに非対応 - 少しハックすればなんとかなりそうな様子

*1:全然関係ないけどここのTracはデザインをカスタマイズしててカッコいい。結構手間かかってそうだなー。

MacOSXに無いと困るツール

Subversion

Finkではインストールできなかったので下記からUniversal Binaryをインストール。
http://www.codingmonkeys.de/mbo/articles/2006/04/04/subversion-1-3-1-now-with-universal-binaries

CVS

コマンドラインCVSはXcode2をインストールすればいいだけでした。

Default Folder

無いと困るユーティリティその2。Open&Save ダイアログを拡張します。履歴とよくつかうフォルダが重宝。Universal Binary な 2.5b4 を試します。

http://www.stclairsoft.com/DefaultFolderX/beta.html

SteerMouse

Mighty Mouse の動作カスタマイズに。

http://plentycom.jp/steermouse/

Keyboard Maestro

MacBookProを購入したので環境を整えているところ。ないと困るユーティリティがこれ。アプリケーションとウィンドウの切り替えに重宝します。


Keyboard Maestro
http://www.keyboardmaestro.com/

Emacsではてなダイアリーを更新

Emacs-w3mはてなを更新できたらラクだなーって思ってたんだけど、デフォルトだとクッキーがオフなのでログインできず。と思ったら簡単にオンにできました。これでEmacsのままブログもWikiも更新できる。

;; w3m
(require 'w3m-load)
(setq w3m-default-display-inline-images t)
(setq w3m-use-cookies t)

Emacs-w3m

http://emacs-w3m.namazu.org/

StopFold - OSXのMailで自動改行しないようにするパッチ

OSXのMailでを使ってメールを送信すると自動改行するんだけど、それがWindowsのOutlookExpressとかで見るとおかしな改行になってしまう。というのを回避するパッチ。メールニュースのテストをするときに、Macで作成してWinで確認するときに大抵問題になるので当てておいた。


StopFold
http://ichiro.nnip.org/osx/StopFold/index.html

MenuCalendarClock

MacOSX 10.4で、メニューバーに日付を表示したいんだけど、なぜかシステム環境設定>日付と時刻では曜日しか出せない。以前は設定ファイルをテキストエディタで編集すればカスタマイズ出来たみたいなんだけど、10.4での設定方法を見つけられず、MenuCalendarClockっていうユーティリティを入れました。

色んな機能を使うと登録が必要なんだけど、日付を表示するだけならフリー。上級設定で下記のように設定してめでたく解決。システム環境設定の方は表示から外しました。

%m/%d(%a) %1H:%M



MenuCalendarClock
http://www.objectpark.net/en/mcc.html