0

マネージド VM コードを更新し、現在のデプロイにデプロイしました。次に、古い展開を削除しました。

新しい展開にバグがありますが、古い展開を削除したため、古いバージョンに戻ることができません!

すべてをやり直さずに、古い展開を元に戻すにはどうすればよいですか? ダウンタイムを最小限に抑えたい。

4

1 に答える 1

3

問題が発生した場合にすぐに元に戻せるように、少なくとも 1 つの以前のバージョンを常に実行しておくことを強くお勧めします。

ただし、コンテナー イメージは保存されているため、次のトリックを使用してロールバックできます。

最初の展開がバージョン「v1」で、2 番目の展開が「v2」であるとします。

  1. gcloud preview app deploy app.yaml --promote --version v1
  2. いくつかのコードを変更する
  3. gcloud preview app deploy app.yaml --promote --version v2
  4. 何らかの理由でコンソールで v1 を削除する
  5. 大野!v2 にはバグがあります。ユーザーは怒っている!
  6. 大野!v1 を削除しましたが、ダウンタイムなしですぐに v1 に戻すことができません!
  7. gcloud preview app deploy app.yaml --promote --version v1 --image-url appengine.gcr.io/vm-containers.<your-project-id>.appspot.com/<your-project-id>.default.v1
  8. 2 ~ 4 分のダウンタイム
  9. アプリはバージョン v1 で再び動作を開始します
于 2015-12-04T23:08:43.730 に答える