ThoughtWorksアンソロジー その3 / Antビルドファイルのリファクタリング(CI Publisherの利用)

yyamano2009-01-13


http://d.hatena.ne.jp/yyamano/20090105#p1 で紹介したAntビルドファイルのリファクタリングの中で、CI Publisherの利用については本文に説明がありませんでした。僕は、なんだかよく理解できなかったので訳者チームに聞いてみると、CIツールでビルドに成功した場合しかビルドタグをつけることができないようにするということでした。つまり、これってビルド毎にタグをつけるという前提があるということです。
しかし、僕はビルド毎にタグをつけるというプラクティスについては疑問をもっています。

  • そもそもビルド毎にタグをつけるメリットがよく理解できない。リリースや結合テスト環境へのデプロイなどの重要なタイミングでのみ、タグをつければ十分ではないのか?
  • タグの数が増えるとうっとおしい。ビルドタグについては定期的に削除するのか?
  • CVSのようにタグが重いツールもある。

ビルド毎にタグをつけるメリットがあるのは、他のプロジェクトやチームがこのビルドの成果物を使用しており、かつ、常に開発途中の最新版を追いかける必要がある場合だけだと思います。すくなくとも僕が関わったエンタープライズシステムではそういう状況になったことはありません。新しいバージョンを追いかける必要があるとしても、不安定な開発版のデバッグに時間をとられたくないので、アルファ、ベータ、RCのようなある程度安定してるであろうタイミングで取り込んでいました。常に最新版が必要で、成果物の依存関係が強く、開発やビルドの単位が異なる分散開発以外ではメリットを感じません。

このビルド毎のタグというプラクティスは何が元ネタなんでしょうか。