2009-08-26 7 views
1

1人または2人だけ変更される特定のファイル、たとえばX.zipがあります。したがって、他のファイルはほとんど変更されていないため、すべてのチェックイン時にビルドをトリガする必要はありません。TFSBuild:特定のファイルがチェックインされたときにのみビルドをトリガする方法は?

ビルド前の状態をチェックする必要があります。チェックインされたアイテムが「X.zip」であるかどうかを確認し、そうであればビルドをトリガーします。 CIビルドのみを使用します。

この特定のファイルがチェックインされている場合にのみビルドをトリガーする方法については何か?私はTFSの初心者であるので、他のアプローチは非常に高く評価されるでしょう...

タラ。

答えて

1

これを行うことができるOOTB機能がわからないので、実行する前に実行される独自のカスタムMSBuildタスクを作成する(ビルド前のアクション)必要があります。

タスクは、TFS APIを使用して現在のファイルのチェックインをチェックし、見つからない場合はタスクを失敗に設定する必要があります。

これはチームビルドにビルドの失敗を示すので、これは実際には理想的ではありません。チェックインポリシーを使用しているかどうかによっては、役に立たない可能性があります。また、実際の問題のために失敗したビルドは、一目でわかるのが難しいでしょう。

すべてのチェックインではなく、頻繁に発生するようにビルドを変更することができます。これにより、ビルドサーバーの負荷が軽減されます。

そうでなければ、Cruise Control .NETを掘り出すことができます。はより良い条件付きビルドをサポートします。

+0

お返事ありがとうございます..あなたは正しいです。はい、確かに私が望むすべてのチェックインのためにビルドが実行されないようにすることができます。そのちょうど私はアクセスする方法がわかりませんファイルやそのパスをチェックインし、ビルド前のイベントで条件付きで使用してください。この条件を "SolutionsToBuild"プロパティに記述することはできませんか、それともビルドスクリプトのようにすることはできませんか? –

0

X.zipを自分のフォルダに移動できる場合は、X.zipが含まれているフォルダだけを参照しているワークスペースでCIビルドを設定できます。

チームビルドはワークスペースの内容をダウンロードするだけなので、残りのコードをダウンロードするには、tf getを明示的に呼び出す必要があります。

しかし、これはカスタムタスクのアプローチより簡単かもしれませんか?

関連する問題