私たちのプロジェクトでは CD を使用しています。このアプリケーションは世界中で使用されているため、複数のデータ センター (地域ごとに 1 つ) を使用しています。各データ センターは、アプリケーションの分離されたインスタンスをホストします (各地域の展開は、独自の DB、アプリケーション サーバーなどを使用します)。データはデータセンター間で共有されません。
私たちが取ることができる2つの異なるアプローチがあります:
すべてのテストが実行される統合サーバー (I) にデプロイしてから、最初のデータ・センター A にデプロイし、次に (A へのデプロイが完了したら) データ・センター B にデプロイします。
リージョン A のユーザー ベースは小さく、統合サーバー (I) で捕捉されなかったソフトウェア バグが原因で A と B の両方が機能停止するのを防ぐには、統合サーバーにデプロイしてからコードを "焼き付ける" 方法があります。リージョン A に 24 時間配置し、本番環境で 24 時間テストした後にのみ、アプリケーションをデータ センター B にデプロイします。この場合、「継続的な」展開がないため、この代替案は CI のベスト プラクティスに反しますか?