継続的インテグレーションの概念が私のチームに統合されました。
Devという名前の統合ブランチがあるとします。
そこから、特定の現在のプロジェクトごとに 1 つずつ、3 つのブランチが派生します。
- プロジェクトA
- プロジェクトB
- プロジェクトC
まず、Teamcity は専用サーバーで構成され、その目標は次のとおりです。
Dev を含む各ブランチのバージョン管理されたソースから単体テストと統合テストをコンパイルして起動します
次に、もちろん、UAT を実行できるように、各プロジェクト ブランチ (A、B、および C) を複製された運用環境でテストする必要があります。
しかし、どの頻度で展開すればよいのでしょうか? ソースコードが変わるたびに?
それぞれをマージした後 (次の製品リリースの現実に対応)、または 3 つのプロジェクトを個別にマージした後、3 つのプロジェクトの混合を含む Dev のみを展開する必要がありますか?
Dev がデプロイされている場合、Dev で将来変更される可能性があることを考慮してはなりません。確かに、プロジェクト Dと呼ばれる新しいプロジェクトが開始される可能性がありますが、それは次のリリースの一部であってはなりません。そのため、Dev を統合 (UAT) に使用することは、デプロイヤーがプロジェクト D のコンテンツを非自発的に統合する可能性があり、環境が次のリリースの現実を明らかにしない可能性があるため、リスクがあります。
その他の解決策: Dev ではなく 3 つのプロジェクトを独立して使用しているため、3 つの複製された運用環境が並行して存在する必要がありますか?
はいの場合、統合環境の動作が頻繁に変更される可能性があるため、UAT は信頼できません...
UAT の継続的な展開の概念は、私には明確ではありません...