回滚Google App Engine托管VM

时间:2015-12-04 23:08:44

标签: google-app-engine google-cloud-platform google-managed-vm

我更新了托管虚拟机代码,并将其部署在当前部署中。然后我删除了旧部署。

我的新部署中存在一个错误,但由于我删除了旧部署,因此无法恢复旧版本!

如何在不重做所有内容的情况下恢复旧部署?我希望尽量减少停机时间。

1 个答案:

答案 0 :(得分:3)

我强烈建议至少有一个以前的版本一直在运行,以便在出现问题时立即切换回来。

但是,由于保存了Container图像,您可以使用此技巧回滚:

假设你的第一次部署是版本'v1'而你的第二次部署是'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,无法立即切换回零停机时间!
  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
  10. 重新开始工作