クロスプラットフォームのミドルウェア製品があり、通常はクライアントごとにカスタマイズ/バグ修正を行います。場合によっては、週に1回/ 2回の頻度で更新を提供します。
クライアントへのアップデートの効率的な管理とリリースには多くの問題があります。
掘り下げてみましたが、この問題を具体的に解決する方法が見つかりません。
誰でも彼らの経験を共有できますか?このシナリオにどのように対処しますか、または優れたソフトウェア配信cmsを知っていますか?
これが私たちがすることです:
これにより、次の利点が得られます。
これはプロセスの概要ですが、要点はきっと理解できます。
Continuous Delivery と呼ばれる素晴らしい本があります。また、密接に関連するソフトウェアブランチのグループを維持するためのアプローチに対処する Software Product Lines と呼ばれるプロセスを確認することもできます。私はConvergysにいたときにこの手法を使用しました(これは、プロバイダーごとにカスタマイズされた単一の製品を使用して、アメリカのワイヤレスおよびインターネットサービスプロバイダーの大部分の請求を処理します)。
ほとんどの場合、ブランチを使用します。まれに、まったく新しいクライアント固有のリポジトリのコピーを複製します。重要なのは、すべてを「関連性」のある状態に保ち、マージやチェリーピッキングでさえも、証明する必要がないようにすることです。
私は、他のオープンソースプロジェクトをフォークするときと同じルールに従います。関係するほとんどの人が過度にローカライズされ、自分のニーズに固有であると考える方向にプロジェクトを進める必要がある場合、私はそれをフォークします。クライアントのニーズが主な取り組みから十分に逸脱している場合は、別のリポジトリをフォークします。
それ以外の場合は、さまざまなアーキテクチャのブランチを維持することは珍しくありません。そのため、メインの開発の焦点から大きく外れる必要がない特定のクライアントのブランチは、基本的に同じことを果たします。
繰り返しになりますが、クライアントごとに1つの新しいリポジトリを複製しても問題はありません。重要なのは、バージョン管理システムがマージ、二分、タグ、その他私たちがそれらに頼っていると思っている他のすべての素敵なことを管理するのに役立つように、それらすべてを関連付けておくことです。