2012-02-05 4 views
1

複数のTeamCollectionを持つ単一サーバーインストールとしてTfsを使用しています。ビルドを設定する場合、1つのTeamProjectCollectionに1つのBuildController(1つだけが許可されています)を割り当てる必要があります。Tfs2010ビルド - 複数のTeamProjectCollection用のBuildConrtoller

TeamProjectCollectionごとに1つずつ、いくつかのBuildConrtollerが必要なので、複数のBuildControlerを使用することは可能です(どのように)。

TeamProjectCollectionごとに独自のBuildServerを持つ唯一のソリューションですか。

+1

まず、複数のチームコレクションを使用しないでください。チームの多くのプロジェクトではなく、そのような理由がありましたか? – Betty

答えて

5

あなたの環境に関するいくつかの前提を設定します。質問を更新すると、私は自分の答えを更新します。あなたのチームのサイズに関するいくつかの情報も役立ちます

仮定番号1:TFSアプリケーションサーバーとビルドコントローラおよびビルドエージェントとして機能する単一のサーバーがあります。

仮定番号2:この単一のサーバーには4つのプロセッサコアがあります。

これが当てはまる場合は、コントローラー/エージェント(VMでもかまいません)として少なくとも1台の他のマシンを使用することをお勧めします。パフォーマンスの第一歩とセキュリティのための第二に。ビルドサービスは管理者として実行され、誰かがドライブをフォーマットするか、レジストリを削除するビルドを作成すると、TFSサーバーを失ったばかりです。

ビルドコントローラは1つのチームプロジェクトコレクションにのみ関連付けることができます。あなたはコレクションに関連付けるエージェント/コントローラをいくつでも持つことができますが、コレクション間で共有することはできません。

コアを持つビルドエージェントをいくつでも持つことができ、4コアマシンで最大4つのビルドエージェントをホストできます(チームビルドをサーバーにインストールする場合はこのオプションが必要です)。もちろんこれは各コントローラは同じRAMとディスクを共有します。

同じマシン上に複数のビルドコントローラをセットアップすることもできますが、これはマイクロソフトではサポートされていないため、ハックと見なされます。 Jim Lamb blogged about thisおよびMark Nichols wrote a nice guide

要約すると、単一の4コアサーバーを使用している場合は、最大4つのエージェントを構築し、同様の数のコントローラをハックすることで潜在的にホストすることができます。これはあなたのニーズに合うかもしれません。ハックのビットですが、それはあなたの問題を解決するはずです。

これを行う正しい方法は、コントローラごとにVMを用意し、ビルドエージェント自体のためにマシンを分離することです。たとえば、2つのチームプロジェクトコレクションがあります。ビルドコントローラ用に2つのVM(1つのコレクションに1つ)がありますが、これらのマシンはコントローラが多くの作業をしないので強力である必要はありません。私たちには、エージェントをビルドするための16個のクワッドコアマシンがあります。現時点では、1台のマシンにつき2つのエージェントしかホストしていないので、実際には各コントローラ/チームプロジェクトコレクションには16のビルドエージェントがあります。必要に応じて、コントローラ間でエージェントを移動させることはありますが、