2017-08-05 10 views
1

私たちは複数の顧客を持つプロジェクトを持っています。アプリケーション名がAli-Systemsであるとします。フー会社はアリシステムズフー、バー会社はアリシステムバーなどを持っています。すべてのバージョンはほぼ同じ構造をしています。しかし彼らの論理は異なっている。たとえば、すべてのバージョンでBillIssueメソッドがありますが、ロジックが異なる場合があります。複数の顧客のためのプロジェクトの分岐

私が理解しているように、開発アイソレーション( の次の同時開発を可能にする)によって分類された分岐戦略がいくつかあります。リリース分離、バグ修正など)、Release Isolation(同時リリースのリリース管理を可能にする)など

この目的のために分岐を利用する方法はありますか?あるいは、顧客のプロジェクトごとに個別のリポジトリを作成する必要がありますか?

注:事実、私は、プロジェクトのベースをいくつかの派生プロジェクトにクローンして、再び一緒にマージすることはありません。しかし、我々は可能な分岐構造を選択するために使用することができ

+1

であるあなたがGitのかTFVCを使用していますか? –

+0

私はtfsを使用しています。 vs2015 –

答えて

1

MicrosoftはVisual Studio Team Foundation Server Branching and Merging Guideを持っている、(おそらく別のブランチの助けを借りて)すべての派生プロジェクトに機能を追加する必要があります。メインフレームのみ、開発分離、機能分離、リリース分離、サービスとリリースの分離、サービス、修正、解放の分離を含む...

あなたの場合、プロジェクトのコアは似ていますが、製品の独自のパーソナライズ(ロジック/ DBモデル)、将来的には独立して進化する可能性があります。いくつかの分岐構造、それはバグやグローバルな変更を解決するためのメンテナンスの悪夢となり主な制限を使用して

。例えば

あなたが別の会社からの変更をマージしたい場合は、非常に複雑であり、それは別に、各バージョンを再テストが必要です。さらに、バグ追跡のために、1つのチームがそのバージョンのバグを解決し、別のチームが完全に理解できないバージョンからその変更をマージする必要があります。このような開発シナリオをサポートする

上部カスタマイズ アプリケーション層から構成可能になり、拡張可能なコア とデータモデルを共有することを示唆しています。このコアは、 顧客/会社固有のカスタマイズごとのベースとして使用し、別々の チーム(各社)によって管理される必要があります。複数のプロジェクト・マネジャーは同じ チームからリソースを必要とするかもしれないが、それは、アーキテクチャの一貫性を保つため プロセス全体を制御し、同期バージョンを保持するための良い方法であるため、これは、いくつかの管理合併症 が含まれます。

人かのチームがローカルマシンに複数の企業間で動作する必要がある場合のほか、クリーンな地域環境を維持するための一つの方法は、Using multiple workspaces with Visual Studio

+0

私のような初心者のための偉大な説明:)しかし、私はあなたが言ったように、少なくとも複雑ではない、このシナリオを分岐する方法がなければならないと思っています。私が間違っている? –

関連する問題