uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

クラウド時代のビルド環境はクラウド化する

クラウド環境は、これからビルドの環境としても発達すると思うんですね。今でも自社でHudsonとか導入しようとしている人は既に直面していると思うけれども、社内共有の大規模なCI環境を構築しようとすると、そのためのビルドファクトリーには相当マシンパワーがいるので、それを自社で集中保持運用することについてコスト的に正当化しきれなくなってくる。スモールスタートでスケールさせたい。これはクラウドの利用の必要性を表すシナリオそのものです。

将来の「クラビルド」(クラウド+ビルドを表す造語。今作った)環境は、ソースをpushしてやると、サーバサイドでビルド/ユニットテスト実行/デプロイ/バージョン管理/ステージング/バグトラッキング/ログ管理とかしてくれる環境になり得ます。連動が進むと、エラーが出たらば自動的にバグ票起票してくれたりしてね。レビュー支援もしてほしいしー。デバッグは難しいかな。printfでバッグは不可能になるかな。

ちなみに、Groovy/GAEでは今すでにそういう「セルフビルディング」的な可能性がたまたまちょっとあります。ていうのも、GAE上では通常javacが実行できないんだけど、Groovy 1.6.1はオンザフライでバイトコード生成/実行できるから、HTTPでPOSTしたGroovyのソースコードBigtableにでも保存しとけばいいんです。えへん。(←俺がえばるな)

また、クラウド上でビルドするのは、クラウドアプリではなくてもいいわけです。androidアプリをビルドできてもいいし、Cのexeをビルドしてもいいですね。