構成管理ツール的なアレの話。
MSのテクノロジと言うかツールがスゲーと言う話。
まず最初に、
の組み合わせは、非常に良い構成管理を行う事が出来ると思います。
僕が、これらの製品が非常に良いと感じるポイントは、
- タスク(バグ)管理
- ソースコードリポジトリ
- 継続的インテグレーション
が、それなりの統一感を持って一つの製品群を形成している所です。
特にVSTSをクライアントとしてTFSにアクセスした時の統一感には目を見張るモノがあります。
タスク管理を行う際に関連のあるリソースを、
ソースコードリポジトリから選択してリンクしておく事が簡単にできると言うのは、
今まで出来ている様でちゃんと出来ていなかったなぁ…と思う次第。
検索したタスクからリソースを紐付ける事と、
変更したコードをコミットする時に、タスクと紐付けるという双方向でのリンクが良いのです。
これが、随分前に言及したShelveとセットになる事で、
非常に強力かつ低コストなレビュープロセスを実現出来るのです。
継続的インテグレーションで、ビルドや自動テストに失敗すると、
タスクが自動的に追加される事も見逃せません。
勿論メールで通知を飛ばす事も出来ますが、タスク一覧の中に、失敗が自動的に登録される事で、
それに付随するコードの修正作業を「開始する事」や「終了する事」が明確になり易いと思います。
をインストールする事で、クライアントとして、IEを使う事が出来るのも結構大きいと思います。
凄く良いインターフェースか?と言われると、そうでも無いような気がするけども、悪くはないのです。
普通に普段使い出来るレベル感だと思います。
閑話休題、そもそも既存のツールじゃ?と言う話。
既存のツールの組合せでこれらの機能を実現する事が不可能か…と言うと決してそんな事はなく、
頑張れば出来ます。勿論。
例えば、OSSのセットでやるなら、
- Subversion(ソースコードリポジトリ)
- Hudson(継続的インテグレーション)
- Trac(タスク管理)
- Maven2,Ant(ビルド)
- eclipse(IDE)
辺りになるでしょうか。既存のツールベースで考えるなら、これが良いなぁ…と僕は個人的に思います。
.NETだけで頑張るって事なら、
- Cruisecontrol.NET
- NAnt
みたいなのもあったりとかするですな。
どちらにしても…
インストールが大変デス。間違いない。
只、TFSは、既存のこういう仕組みを作る為のサーバ群の中では、間違いなく一番インストールし易いと思います。
順序が重要なモノに関しては、ちょくちょくとバリデーションしてくれる局面もありますし。
やってくれない事もあるけど…
不満とかそういう話。
何はともあれ、カスタマイズさせてクダサイ。
具体的に言うと、サーバサイドにしてもクライアントサイド(VSTS)にしてもプラグイン書きたいです。アドインでもいいけど。
コードを公開してないんだから、もっとドキュメントをクダサイ。
後、細かい所で、動作が遅い事が見受けられます。
タスクの検索とか、重いです。
今回の話題には関係ないけど、テストの実行が何であんなに重いのか理解しかねます。
InfoPathでやれって言う事なのか、どうなのか分らないけど、
検索条件や画面の出力項目をカスタマイズする為のXMLを見た時には、泣きそうになりました。
多分きっと、イマイチ動作に鈍さを感じるのは、コイツのせいじゃないかと思ってたりするます。
TFSにリソースをコミットする時に、レビュアーとか指定出来るのですけど、
どうもそれをActiveDirecotryと連携させて、入力内容つまりユーザ名をバリデーションしてくれないです。
残念です。残念なのでプラグイン書いて拡張したいとか、思っても全然出来る気配がありません。
本当は出来るのかもしれないけど、僕にはやり方が今のトコロ分かりませんです…orz
又、コミットに合わせてレビューのタスクを自動的に積んだりとかしたいです。
TFSのWebサービスのインターフェースがなんだかイマイチ分かり辛いです。