Reason プロパティ

更新 : 2007 年 11 月

Cc716772.alert_caution(ja-jp,VS.90).gif重要 :

この機能は、Team Foundation Server 2008 Service Pack 1 エディションでのみ使用できます。

Team Foundation Server 2008 Service Pack 1 エディションでは、IBuildDetailBuildReason 型の列挙体である Reason プロパティが格納されます。このプロパティにより、ビルドがどのようにトリガされたかが表示されます。詳細については、「方法 : ビルド定義を作成する」を参照してください。使用できる値は次のとおりです。

  • Manual   ユーザーがチーム エクスプローラの [新しいビルドをキューに配置] メニュー コマンドを使用して、ビルドを手動で開始したことを示します。

  • IndividualCI   チェックインによってビルドが開始されたことを示します。ビルド定義は、チェックインごとにビルドを実行するよう構成されています。

  • BatchedCI   1 つ以上のチェックインによってビルドが開始されたことを示します。ビルド定義は、チェックインを蓄積するよう構成されています。

  • Schedule   特定の時刻にビルドを実行するようにスケジュールが設定されているため、ビルドが実行されたことを示します。ビルド定義は、変更がチェックインされた場合に定期的なスケジュールでビルドを実行するよう構成されています。

  • ScheduleForced   設定した時刻にビルドが開始されたことを示します。ビルド定義は、変更がチェックインされたかどうかに関係なく、定期的なスケジュールでビルドを実行するよう構成されています。

Reason プロパティは、ビルド ログに表示されます。詳細については、「ビルド レポートの概要」を参照してください。

Reason プロパティは GetBuildDetails タスクの出力プロパティでもあり、MSBuild プロパティのように、TFSBuild.proj ファイルで使用できます。トリガに応じて、このプロパティを使用してビルド ファイルを変更できます。Reason プロパティを使用すると、以下の操作を行うことができます。

  • 特定のビルド定義で制御されるビルドがどのようにトリガされたかを区別します。区別することにより、ビルド トリガに応じて、さまざまなビルド プロパティを異なる値に設定することで、ビルド出力をさらにカスタマイズできます。

  • 複数のビルド定義が同じ TfsBuild.proj ファイルを使用するよう構成されている場合に、特定のビルド定義を区別します。

たとえば、夜間ビルド用のカスタムのビルド番号を生成する場合は、次の XML を TFSBuild.proj ファイルに追加します。

<Target Name="BuildNumberOverrideTarget" Condition=" '$(Reason)' == 'Schedule' ">
    <MyBuildNumberGenerator TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)">
      <Output TaskParameter="BuildNumber" PropertyName="BuildNumber" />
    </MyBuildNumberGenerator>
</Target>

さらに、MyBuildNumberGenerator タスクを登録および定義する必要があります。詳細については、「方法 : ビルド番号をカスタマイズする」を参照してください。

参照

概念

Team Foundation ビルドの構成ファイルについて

その他の技術情報

Team Foundation ビルドでのビルド定義の操作