2017-01-23 28 views
0

ビルドのために "delta"をビルドするためのTFS 2015の解決策を見つけようとしています。 TFS 2013では、パラメータ「出力」を使用して「クリーンワークスペース」の設定によって行われました。ビルド定義のTFS 2015 "delta"

出力:既存の出力をすべて削除しますが、最後のビルド以降に変更されたソースファイルのみを取得します(インクリメンタルゲット)。

TFS 2015でどのようにこれを行うべきか教えてもらえますか?

ありがとうございます。

答えて

0

新しいビルドシステムがあり、増分ビルドが必要だとします。 Visual Studioビルド/ MSBuildタスクを追加してプロジェクトをビルドするときは、クリーンオプションのチェックを外します。

enter image description here

クリーンオプション:あなたはこのインクリメンタルビルドしたい場合は、falseに設定し、以下のスクリーンショットを確認してください。この 設定は、特にコードベースが の場合、ビルド時間を短縮する可能性があります。 リポジトリをFalseに設定しない限り、このオプションは実際的な効果はありません。

コードプロジェクトのすべてのコードを再構築する場合は、Trueに設定します。 これはMSBuild /target:clean argumentに相当します。

+0

こんにちは。答えてくれてありがとう。しかし、これは私が必要とするものではありません。 ビルドソリューションでは動作しません。私が必要とするのは: 私のチェンジセットに存在するすべての要素を含む新しいフォルダーを作成する。または、自分のラベルからの変更を含むフォルダを作成する。 私はそれが同じ機能かもしれないが、私は変更に存在するコンポーネントで新しいフォルダを作成する方法を見つけることができないことがわかります。私はC(チェンジセット番号)またはL(MyLabelName)を指定できることを知っています。 –

+0

あなたが「Build.Clean」変数と変数]タブの「ソース」に設定し、その後、ビルドをキューに入れたびに、全体のソースフォルダが削除されますを追加し、ビルドサーバー上のワークスペースに指定チェンジ/ラベルを取得することができます。 –

+0

こんにちは。この変数は最初から私によって設定されました。それが何をしているのか - あなたが言ったようにソースフォルダ全体を削除しますが、それはプロジェクトにあるすべてのものを取得した後です。 2017-01-25T13:34:39.2187897Zソースディレクトリが存在するかどうかの確認: D:\ BuildAgent \ _work \ 1 \ s 2017-01-25T13:34:39.2187897Zソースディレクトリを削除する。 2017-01-25T13:34:40.7947533Z開始:だから結果のソースディレクトリにあるソース をゲット再びプロジェクト+私の変化に指定されたすべてのコードを持っています。しかし、これは私が探しているのではありません。 –

0

MSFT。確かに、サンプルがあります。 今のところ、XAMLビルド定義を使用しています。 たとえば、私は変更を行い、それに対してチェンジセット24000を持っています。 私のオブジェクトはDIS/BR-DEV/csv/my-test.incのみです。

ビルドのデフォルト設定で、結果がClean Workspaceを "Output"に設定してビルドをトリガーした後: ビルド出力を次のドロップフォルダC \ TESTにコピーします。C \ TEST \ $(Build。 BuildNumber)\ csv \ my-test.inc(ビルドテンプレートで指定されているとおり、DIS/BR-DEVは無視されます)。

私はビルド定義を使用して同じ機能をビルドしようとしています。私はそのために "Copy Files"ビルドステップを使用しています。

私はソースフォルダ= $(Build.SourcesDirectory)で指定しています。ターゲットフォルダ= D:\ BuildAgent_work \ 1 \ $(Build.BuildNumber)。

質問はコンテンツフィールドにあります。私は自分の変更だけをコピーするよう指定することはできません。それには次のパターンがあります:コピーするファイルのリストに適用するミニマムパターンフィルタ(各行に1つずつ)を指定します。例:

  • は、ルートフォルダ内のすべてのファイルをコピーします。 ***は、ルートフォルダ内のすべてのファイルとすべてのサブフォルダ内のすべてのファイルをコピーします。 ** \ bin **すべてのファイルを任意のbinフォルダから再帰的にコピーします。

このパターンを使用すると、変更セット#変更に基づいて動的に取得することはできません。

私はビルドをトリガーしているときにC24000を指定しようとしましたが、ソースフォルダに追加するだけです。私は私のターゲットフォルダ= Dで見て期待してい

:\ BuildAgent_work 1 \ $(Build.BuildNumber)私の私の-TEST.INC \。

関連する問題