0

我更新了我的托管 VM 代码并将其部署到当前部署中。然后我删除了旧的部署。

我的新部署有一个bug,但是因为我删除了旧部署,所以我不能回到旧版本!

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

4

1 回答 1

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 重新开始工作
于 2015-12-04T23:08:43.730 回答