1

プロジェクト用に TFS ビルドをセットアップしましたが、すべてのビルドでシステムがリポジトリ全体をコピーしてから、ソリューションをコンパイルします。不要な各ディレクトリを手動でクロークすることなく、TFS ビルドがソリューションに必要なファイルのみをダウンロードするようにするにはどうすればよいでしょうか? 現在、サイズが 100 MB 未満のプロジェクト (ソース ファイル) をコンパイルするためだけに、2GIG を超えるデータをダウンロードします。その他のデータは、自動ビルドに必要のないテスト データベースとファイルです。

編集:さらに調査すると、検索用のキーワードがいくつか見つかりました。これらの投稿は役に立ちます: チーム ビルド - ワークスペースを取得 - すべてではなく、特定のパスから最新のものを取得

TFS ビルドとワークスペース

それでも調査中。どんなコメントでも大歓迎です。

EDIT : オプションは、ビルド プロセス定義の CreateWorkspace を独自の拡張アクティビティに置き換えることです。誰かが既に行っていることを知りたいと思っています..基本的には、ワークスペース全体ではなく、VersionControlServer オブジェクトを使用して必要なファイルをダウンロードします。

編集 現在、これに対する本当の良い答え/解決策はありません。私はいくつかのオプションを提示し、応答した人々はいくつかの代替案を提示しましたが、リポジトリ全体ではなく、ソリューションの一部であるデータのみをダウンロードするように TFS ビルド プロセスを簡単に変更することはできません。そのため、リポジトリを構築するときは注意してください。

4

2 に答える 2

3

Build Definitionコンパイルしたいソースのみを含めるようにマッピングを設定したいとします。これは、何もする必要がないことを意味しますcloak

  • ビルド構成の編集
  • ソース設定 (VS 2012)、ワークスペース (VS 2010) をクリックします。
  • 特定のマッピングの例は次のようになります。

StatusSource Control Folder                           Build Agent Folder                
Active$/Path/To/The/SolutionOrProjectFolder  $(SourceDir)\                        

これによりworkspace、このビルドは、ビルドしたいソリューションに限定されます。したがって、その下にある AssemblyInfo ファイルのみがビルド アクティビティに表示されます。

ソース管理の設定方法が原因でこれを行うことができない場合は、Source Control.

于 2013-03-08T19:05:51.267 に答える
2

複数のビルド エージェントがある場合は、ビルド定義を実行できるエージェントの数を制限する必要があります。これにより、同じソースの複数のコピーがビルド マシンにダウンロードされなくなります。

質問で既に回答した次の部分では、ビルド定義の「Clean Workspace」オプションをNoneに変更することで、ビルド エージェントは現在のビルドと最後のビルドの間の変更セットのみをダウンロードします。

于 2013-03-08T13:47:59.570 に答える