2

TFS 2010 ビルド定義ウィンドウの [プロセス] の下に、2 つの必須項目があります。それらは「ビルドする構成」と「ビルドするプロジェクト」です。ビルドするプロジェクトの下で、次のようなものを入力できます。

$/TeamProject/Area1/Area2/*

しかし、これは私が期待することをしていないようです。以下を探しているため、ビルドは失敗します。

$/TeamProject/Area1/Area2/Sources/*

これによって私が達成しようとしているのは、この領域の下にあるすべてのソリューションを構築することです。たとえば、私は持っています:

$/TeamProject/Area1/Area2/Solution1/Solution1.sln
$/TeamProject/Area1/Area2/Solution2/Solution2.sln
$/TeamProject/Area1/Area2/Solution3/Solution3.sln

これよりも多くのソリューションがあるため、指定されたパスの下にすべてのソリューションを再帰的に構築する方法を探しています。TFS 2010 でこれを行う方法はありますか?

4

3 に答える 3

3

プロセス テンプレートを変更できます。一致するファイル (正確な名前はわかりません) アクティビティで展開します。ビルド定義で設定した情報を MacingFiles アクティビティに渡すパラメーターを追加します。次に、ビルド定義に入力する引数の代わりに、MatchingFiles アクティビティによって検出されたファイルをビルド ソリューション アクティビティに渡します。

ここで、ビルドするソリューションのビルド定義にダミー ソリューションを追加します (もう使用されません)。

ビルド プロセス テンプレートのカスタマイズの詳細については、ビルドのカスタマイズに関する一連のブログ記事を参照してください。

于 2011-01-20T12:33:08.057 に答える
0

FWIW、私は持っています:「構築する構成」は空白で、「構築するプロジェクト」の下に省略記号ボタンを使用してソリューションを追加しました

于 2011-01-20T10:38:04.167 に答える
0

マッピングをセットアップします

$/TeamProject/Area1/Area2/Solution1/    
$/TeamProject/Area1/Area2/Solution2/    
$/TeamProject/Area1/Area2/Solution3/

次に、ビルド定義で、ビルドする 3 つのプロジェクトを入力します

$/TeamProject/Area1/Area2/Solution1/Solution1.sln
$/TeamProject/Area1/Area2/Solution2/Solution2.sln
$/TeamProject/Area1/Area2/Solution3/Solution3.sln

ビルドする構成を空白のままにしておくことも、特定のビルドを実行する場合は、(たとえば) Debug|Mixed Platforms のようなものに設定することもできます (構成マネージャーを確認してください...ビルドしているソリューションを確認してください)。何が有効か)

または、次のものをマップすることもできます (このフォルダーにある量に応じて、ビルドをトリガーしたくないソリューション 4+ がある場合は、このレベルでは実行しないでください)。

$/TeamProject/Area1/Area2

そして、Solution1、Solution2、および Solution3 を含む 1 つのソリューションを用意し、代わりにそれをビルドします。

デフォルトでは、マップされている Solution1 をビルドします

$/TeamProject/Area1/Area2

次のような作業ディレクトリを持つビルド エージェントの場合:

$(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath)

あなたはそれがビルドされてしまうでしょう

C:\Builds\1\Solution1\Binaries
C:\Builds\1\Solution1\Sources
C:\Builds\1\Solution1\TestResults

これが、OutDir などがすべて正しく、ハードコードされていないことを確認する必要がある理由です!

ビルド中に見てみると、ビルド エージェントが Sources フォルダーにデータを入力していることがわかります。(正しく構成されていれば) すべての出力を Binaries フォルダーに配置する必要があります (そして、それらを TFS の Build Defaults で構成されたドロップ フォルダーにコピーします)。 .

于 2011-01-20T11:15:59.060 に答える