TFSでソリューションをビルドするためのビルド定義があります。これはうまく機能しますが、常に最新バージョンをビルドします。
過去から特定のチェンジセットを強制的に構築するにはどうすればよいですか?
この番号を使用/「MSBuild引数」に渡して、展開に使用するにはどうすればよいですか?
チームエクスプローラーからビルドをキューに入れる場合、[パラメーター]タブの[詳細]引数の1つはバージョンの取得です。
注:これはC123の形式で指定する必要があると思います。123はチェンジセット番号です。
最初の質問に対する答えは、明らかに @Dylan が述べたことです。
2番目の部分へ:
重要な議論はGetVersion
. ビルド プロセス テンプレート内のアクティビティ「Run MSBuild for Project」に移動します。既定では、この値は次のようになりますCommandLineArguments
。
String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)
次のようなものに変更できます
String.Format("/p:SkipInvalidConfigurations=true {0} /p:DeployIisAppPath=/changeset/{1}", MSBuildArguments, GetVersion)
必要な場所に移動できます。
変更セット番号を使用する場合、CI ビルドの場合にのみ意味があります。CI ビルドは通常、単一の変更セットをビルドするためです。
他の種類のビルドでは、ビルド ID を使用することをお勧めします。これは一意であり、複数の変更セットをビルドするビルドの場合をカバーします。