説明
シナリオ:新しい機能を単独で開発することをサポートする分岐戦略を使用する必要があります。
機能の分離は、開発の分離の特別な派生物であり、示されているように、メインから、または開発ブランチから1つ以上の機能ブランチを分岐できます。

特定の機能に取り組む必要がある場合は、機能ブランチを作成することをお勧めします。
既存の環境
Litware、Inc. e独立系ソフトウェアベンダー(ISV)Litwareには、本社と5つの支社があります。
アプリケーションアーキテクチャ
同社の主な用途は、V8.NETで記述されたロジックを使用するASP.NETWebフォームに基づく単一のモノリシック退職基金管理システムです。アプリケーションのいくつかの新しいセクションはC#で書かれています。
アプリケーションのバリエーションは、個々の顧客向けに作成されています。現在、アプリケーションのコードベースには80を超えるコードブランチがあります。
このアプリケーションは、MicrosoftVisualStudioを使用して開発されました。ソースコードは、本社のTeam Foundation Server(TFS)に保存されています。ブランチオフィスは、TFSプロキシサーバーを使用してソースコードにアクセスします。
アーキテクチャ上の問題
Litwareは、顧客向けの新しいコードの作成に重点を置いています。既存のコードをリファクタリングまたは削除するためのリソースは提供されていません。コードベースの変更には長い時間がかかります。ASの依存関係は個々の開発者には明らかではありません。
コードのマージ操作には数か月かかることが多く、多くの開発者が関与します。コードをマージすると、見つけて解決するのが難しいバグが頻繁に発生します。
顧客は、退職基金管理システムの所有コストが継続的に増加していると報告しています。無関係なコードをマージする必要があるため、コードの小さな変更でさえコストがかかります。
要件
計画された変更
Litwareは、投資計画のための新しいアプリケーションスイートの開発を計画しています。投資計画アプリケーションでは、東部の退職基金管理システムとのわずかな統合のみが必要になります。
投資計画アプリケーションスイートには、1つの多層Webアプリケーションと2つのiOSモバイルアプリケーションが含まれます。1つのモバイルアプリケーションが従業員によって使用されます。もう1つは顧客が使用します。
Litwareは、よりアジャイルな開発方法論に移行することを計画しています。共有コードは一連のパッケージに抽出されます。
Litwareは、内部クラウド変換プロセスを開始し、適切な場合はいつでもクラウドベースのサービスを使用することを計画しています。
Litwareは、顧客のバグレポートを常に求めているのではなく、障害の検出に積極的になりたいと考えています。
技術要件
会社の投資計画アプリケーションスイートは、次の技術要件を満たす必要があります。
*ファイアウォールを介した新しい着信接続は最小限に抑える必要があります。
* Developersという名前のグループのメンバーは、パッケージをインストールできる必要があります。
*すべての権限の割り当てには最小特権の原則を使用する必要があります
*新しい機能を単独で開発することをサポートする分岐戦略を使用する必要があります。
*チームリーダーという名前のグループのメンバーは、新しいパッケージを作成し、パッケージフィードの権限を編集できる必要があります
* Visual Studio App Centerを使用して、モバイルアプリケーションのクラッシュと使用中のデバイスタイプのレポートを一元化する必要があります。
*デフォルトでは、すべてのApp Centerを使用して、モバイルアプリケーションのクラッシュと使用中のデバイスタイプのレポートを一元化する必要があります。
*コードの品質とリリースの品質は重要です。リリース中にアクティブなバグがリリースに対してログに記録されている場合、リリース中に展開をステージ間で進めてはなりません。
*モバイルアプリケーションは、既存の退職基金管理システムの株価サービスを呼び出すことができる必要があります。システムがアップグレードされるまで、サービスはHUPSを介した基本認証のみをサポートします。
*テストサーバーに必要なオペレーティングシステムの構成は毎週変更されます。Azure Automation State Configurationを使用して、サーバーが定期的に作成およびチェックされるときに、各テストサーバーのオペレーティングシステムが同じように構成されていることを確認する必要があります。
現在の技術
テストサーバーは、最初に展開されたときに正しく構成されていますが、時間の経過とともに構成がドリフトします。Azure AutomationStateConfigurationは構成の修正に失敗します。
Azure Automation State Configurationノードは、次のコマンドを使用して登録されます。
