2

特定のファイルがチェックインされたときにのみビルドをトリガーしたいので、tfsビルドスクリプトのチェンジセットから関連するファイル名にアクセスする方法が必要です。これにより、ビルドをトリガーする前に条件を確認できます。

tfプロパティ、tfなどのtf.exeを含むコマンドは役に立ちますか?ビルドスクリプトでExecタスクから出力を抽出することは不可能です。
どうすればいいですか?

4

1 に答える 1

2

チーム ビルドは、変更を監視しているファイルのセットとダウンロードするファイルのセット (ビルド ワークスペース) が同じものであると想定しているため、多少の作業が必要になります。カスタム msbuild taskを作成します。基本的な手順:

  1. GetExtendedItem() で特殊ファイルのローカル バージョンを取得する
  2. 以前の成功したビルドで記録されたバージョンと比較します (この情報をレジストリに保存するか、ハードコードされたパスに保存してください)。
  3. バージョンが一致する場合は、ビルドを中止します
  4. そうでない場合は、ビルドを続行します
  5. ビルドが成功したら、レジストリを更新します

GetExtendedItem() [ちなみに、これはtf propが呼び出す API です] 以外に、このようなタスクに役立つ他の情報は、ワークスペースに含まれる最新の変更セットです。これを効率的に取得するには、代わりに QueryHistory を使用し、versionFrom と versionTo の両方に WorkspaceVersionSpec を渡します。同様に: tf hist $/ -r -version:W~W

于 2009-08-27T16:11:19.263 に答える