複数の物理層にコンポーネントを持ち、多くのアセンブリを共有し、各層に専用のコンポーネントをいくつか持つアプリケーションを開発しています。ホットフィックスを使用した分散アプリケーションのアセンブリのバージョニング
リリースホットフィックスの典型的なバージョニング戦略、またはアプリケーションのほんの少数のコンポーネントについて知りたいと思っています。
問題追跡ソフトウェアには、製品全体のバージョン番号が含まれています。現在のバージョンが1.4.5で修正プログラムが必要な場合、修正プログラムの問題は1.4.6に対してリリースされます。 1.4.6の修正プログラムの影響を受けるすべてのアセンブリは、バージョン1.4.6です。それらのファイルだけを配布すると、バージョン1.4.5にいくつかのファイルがあり、1.4.6にいくつかのファイルがあります。
解決策はアプリケーション全体を1.4.6として再構築してリリースすることでしたが、複数のマシン上の複数のコンポーネントを再デプロイする必要があったため、実際には変更されなかった不要なコンポーネントのダウンタイムが発生しました。
この問題でどのような戦略を講じていますか?いくつかのファイルに異なるバージョン番号が付いてくることを受け入れることは問題なのでしょうか?これまで私はこれが顧客(レベル1)のサポートチームと混乱を引き起こすことを発見しました。
ありがとうございました。私は、いずれかの層の変更が発生するたびにアプリケーション全体をリリースすることに傾いています。変更の99%がサーバーコンポーネントに含まれるため、更新中の実際のダウンタイムは基本的に避けられません。 –
「公式リリース」のシナリオでは、これがおそらく最善のアプローチです。ただし、「パッチ」シナリオでは、パッチを適用する必要があるコンポーネントのみを影響を受ける層にリリースすると、ダウンタイム(およびリスク)が減少します。 –