.NET プロジェクトのビルド サーバーについて質問があります。現在、TeamBuild を TFS 2010 と組み合わせて使用し、.NET の世界で自動ビルドを行っています。一部の古いプロジェクトは、単純な古い MSBuild スクリプトを使用してビルドされています。
管理作業をなくすために、現在ソースを github に移動しています。Github は、CI やナイトリー ビルドなどの自動ビルドを実行するためのビルド サーバーをトリガーする他の多くのサイト サービス フックと同様に提供しています。
もちろん、TeamCity OnPremise を使用し、VMRole と仮想ディスクを使用して Windows Azure でビルド エージェントを動的に作成することもできますが、このハイブリッド ソリューションは少しばかげていると思います。
では、次のアーキテクチャのアイデアについてどう思いますか?
ソース管理プラットフォームとして github を使用しているとしましょう。ソースをリポジトリにコミットすると、WCF サービスをホストする Azure WebRole がトリガーされます。WebRole 自体は、Azure API を使用してカスタム Azure VMRole の新しいインスタンスを起動するだけです。
Azure VMRole 自体は、Rake や MSBuild などのビルド スクリプトを使用して、ビルド エージェントに必要な数の開発者ツールをインストールします。プロジェクト全体をビルドした後、成果物が Azure BlobStorage に発行され、WCF サービスをホストする WebRole が再度呼び出されますが、現時点では、Azure WebRole が BuildAgent を終了しようとしています。
このようなセットアップを使用すると、PowerShell を使用してビルドに必要な要素をインストールできる限り、ビルド エージェントのコストを最小限に抑え、ほぼすべての種類のプロジェクトをビルドできます。
要するに、このアーキテクチャについてどう思いますか? 他のアイデア?そのようなソリューションを提供する既存のサービスはありますか?
トルステン