1

3 つの TFS ビルド (2 つの Dev と 1 つの Cert) があります。

共通項目を変更するたびに 3 つのファイルを編集する必要がないように、ビルドをモジュール化したいと考えています。

私が抱えている問題は、ビルド フォルダー (TeamBuildTypes の下) 内のアイテムのみがチーム ビルドによって自動的に取得されることです。ビルド プロセスにコードを挿入して他のファイルを取得することはできますが、それでは手遅れです。

これが私が持っているシナリオです。共通のタスク用に「共通」の場所を作成します。次に、そのファイルに変更を加えました。ビルド プロセスがダウンロードするように指示するまでファイルはダウンロードされないため、取得が遅すぎます (インポートは既に行われており、MSBuild プロセスはメモリ内にビルド ターゲットを構築しています)。

ビルドのワークスペースに追加することを考えましたが、Get Sources ターゲットで取得されます (これも遅すぎます)。

ファイルを複製したり、ソース管理を使用したりしないソリューションが見つかりません...

何か案は?

4

2 に答える 2

4

Team Build 2008には、この問題に対する「理想的な」解決策はありません。最善のオプションは、一般的なものをビルドマシンに配置し、そこから$(MSBuildExtensionsPath)解決してC:\Program Files\MSBuild参照することです。

ビルド構成が非常に似ている場合は、次のことができます。

  1. すべてのビルド定義を単一の構成フォルダーにポイントします。
  2. 共通のビルドロジックをに入れTFSBuild.projます。
  3. TFSBuild.projの下部にを追加し<Import Project="TFSBuild.$(BuildDefinitionName).proj" />ます。
  4. TFSBuildのビルド定義間で異なる構成を追加します。<BuildDefinitionName>.proj
于 2009-06-11T03:47:24.973 に答える