ブルー/グリーン戦略を使用したデプロイ

Kubernetes Engine (OKE)およびインスタンス・グループ・デプロイメントのブルー/グリーン・リリース戦略を使用して、アーティファクトをデプロイします。

Oracle Cloud Infrastructure (OCI) DevOpsサービスでは、ブルー/グリーン・デプロイメント戦略は、次の4つのステージ(2つはオプション)に実装されます:

  1. ブルー/グリーン・デプロイメント・ステージ: このステージでは、デプロイするアーティファクトとともに、2つの環境(インスタンス・グループまたはOKE用)が選択されます。インスタンス・グループのブルー/グリーン・トラフィック・シフト用にロード・バランサが選択されます。OKEデプロイメントの場合、トラフィックをルーティングするためにNGINXイングレス・コントローラを設定する必要があります。デプロイメントの実行中、新しいバージョンのアプリケーションがスタンバイ環境にデプロイされます。
  2. (オプション)ファンクションの呼出しステージ: このステージでは、カスタム・ファンクションをパイプラインに追加して、スタンバイ環境のアプリケーションを検証できます。呼び出されたファンクションは、本番トラフィックをシフトする前に新しいバージョンをテストします。
  3. (オプション)手動承認ステージ: このステージでは、本番トラフィックをシフトする前にスタンバイ環境のデプロイメントを承認するために、手動承認ステップが追加されます。
  4. ブルー/グリーン・トラフィック・シフト・ステージ: このステージでは、スタンバイ環境でデプロイメントが検証された後、本番トラフィックの100%が、現在のアクティブ環境から、検証済の新しいバージョンを実行しているスタンバイ環境にシフトされます。
図1. ブルー/グリーン・デプロイメント・ワークフロー
ブルー/グリーン・デプロイメント・ワークフロー

デプロイメントのロールバック

ブルー/グリーン・デプロイメント戦略では、インスタンス・グループとOKEのどちらについても、パイプラインの再デプロイメントはサポートされていません。単一ステージの再デプロイメントは、ブルー/グリーン・トラフィック・シフト・ステージでのみ、手動ロールバックにより可能です。

単一ステージの再デプロイメント・プロセスでは、デプロイメントの完了後に、失敗したステージを以前の正常なリリース・バージョンにロールバックできます。たとえば、インスタンス・グループのブルー/グリーン・デプロイメント中に、本番環境(グリーンまたは以前のスタンバイ)にデプロイされた新しいバージョンが失敗した場合、この環境に向かう本番トラフィックはスタンバイ環境(ブルーまたは以前の本番)にシフトされます。詳細は、デプロイメントのロールバックを参照してください。

ブルー/グリーン・デプロイメント戦略の実装については、ブルー/グリーン・インスタンス・グループ・デプロイメントおよびブルー/グリーンOKEデプロイメントを参照してください。