私のチームは、.NETベースのソフトウェアと他のいくつかのコンポーネントを構築しています。現在、TeamCityを使用して継続的インテグレーションを実行しています。MSBuildは.slnファイル(および単体テストなどの他の小さなタスク)をコンパイルするだけです。
ソース管理は、リポジトリに1回のコミット後にコンパイルされる多くの小さな「プラグイン」プロジェクトが含まれるように構成されています。
これにより、変更されたコンポーネントのみをビルドするだけでなく、後でビルドアーティファクトとしてそれらのみを配信することも困難になります。
ビルドターゲットを「再構築」ではなく「ビルド」に設定するなどのソリューションがここで役立つ場合がありますが、特にビルドが任意の数のビルド「エージェント」で実行される分散ビルド環境を扱う場合は、少し脆弱すぎるようです。 、以前のコンパイル出力がないものでも。
このシナリオに取り組む正しい方法は何だろうか?明らかに、これはおそらく処理され、多くの人によって処理されている既知の問題です。
現在のビルド(コードチェックイン)によって変更されたDLL /コンポーネントのセットを(ビルドごとに)ビルドして配信したいと思います。
これを達成するためにどのような手法を実装できますか?