Hudsonがついに昼間の仕事になりました

Hudsonは元々は趣味のハッキングプロジェクトとしてスタートしたのですが、このところ急に人気が出てきました。実際、いまやjava.netでももっともアクティブなプロジェクトの一つです。しかし、これはいわば夜の顔で、昼間は他の責任(JAXB,Metro,GlassFish v3とか)があって、Hudsonにかけられる時間は主に夜か週末に限られていました。


だったのですが、遂にこの度Hudsonがメインの仕事になりました(といっても会社は変わっていないです)。今後は、Hudsonに昼間も使えるし、この手の別なツールにも多少時間を使えるようになるはずです。(実際、今もう一つ別なツールを書いているところです。乞うご期待。)


これを契機に、長いこと懸案になっていた幾つかの重要な機能を実装できると思いますし、またより多くのバグをより短い間に修正できるようになると思います。実際、もう既にStephenと僕でVirtualBoxVMWare仮想マシンをビルドに利用してOSをそこいら中にインストールする手間を減らす機能に着手していますし、id:masanobuimaiさんに指摘された、アップデートセンター機能の搭載も始まっています。


もうちょっと大きな観点から言えば、Hudsonを単なるビルドやテスト用のツールとして使うだけではなくて、ソフトウェア開発におけるあらゆる自動化をする基礎にしたいと思っています。シュリンクラップのソフトウェアを作るより、サービスとしてデプロイするソフトウェア開発(外に公開しているかを問わず)がより主流になるにつれて、ソフトウェアの開発のされ方も変化してきています。そこで、この領域をHudsonで占拠しようと。例えば、開発者はもうただコミットするだけで、後はHudsonみたいなシステムが自動的にテストをして検証をし、徐々に他の人の変更とあわせて下流へ流していって、最終的にプロダクションサーバに配備されるまで完全に変更を追跡できたら素敵じゃないでしょうか。どの変更がどのステージまで伝搬しているのか、リグレッションが検出されたビルドにはどの変更が入っているのか、そういうことが常にきちんとわかるというのはどうでしょう。あるいはテストで問題が起こった時に、サーバ上でテストが実行されて、問題の箇所にたどり着いたらHudsonが開発者に通知してリモートでデバッガをアタッチさせてくれたら、どんなに生産性が向上するでしょう?こういうのもやっていきたいなぁと。


そういうわけでHudsonは僕の夜の顔ではなくなるのですが、とはいえ、きっと夜も週末もHudsonに使ってしまうに違いないと思うのであります。なにしろ、書きたいプログラムは数多く、しかし人生はあまりにも短いもので。


そういうわけで、今後とも皆様よろしくお願いします。