私のプロセスは他のポスターのプロセスと似ています。
CoreProject と AppProject という 2 つのプロジェクトがあるとします。CoreProject は共有されています。AppProject には SharedBinaries というフォルダーがあります。これは、すべてのアセンブリ参照が指す場所です。
CoreProject の TFSBuild スクリプトは、次のように構成されています。
-最新のものを入手
-ビルド ドロップからドロップ ゾーン (\\SERVER\DropZone\CoreProjectBuildNameAndNumber のようなもの)
- ドロップは、ドロップ ゾーン (\\SERVER\DropZone\Latest\CoreProject など) のフォルダーにコピーされます。
AppProject の TFSBuild スクリプトは、次のように構成されています。
-最新のものを入手
-SharedBinaries フォルダー内のファイルをチェックアウトします。
-\\SERVER\DropZone\Latest\CoreProject からファイルをコピー
-建てる
- ドロップ トゥ ドロップ ゾーン (\\SERVER\DropZone\AppProjectBuildNameAndNumber のようなもの)
-ビルドが成功した場合、ビルドはフォルダー ドロップ ゾーン (\\SERVER\DropZone\Latest\AppProject など) にコピーされ、SharedBinaries 内のファイルがチェックインされます。
- ビルドが失敗すると、SharedBinaries にコピーされたファイルのチェックアウトが取り消されます。
これは本当にうまくいくことがわかりました。AppProject は常に CoreProject の最新のビットでビルドされているため、重大な変更があるかどうかはすぐにわかります。SharedBinaries を TFS にチェックインすることで、特定のバージョンを取得し、その時点で使用されていた CoreProject の同じ dll でコードを実行できます。また、最新のものを入手する必要があり、ローカルマシンも最新のビットで構築しています。