我更新了托管虚拟机代码,并在当前部署中进行了部署。然后我删除了旧的部署。
我的新部署中有一个错误,但由于我删除了旧部署,我无法返回到旧版本!
如何在不重做所有内容的情况下恢复旧部署?我想尽量减少停机时间。
我强烈建议您始终至少运行一个以前的版本,这样您就可以在出现问题时立即切换回来。
然而,由于容器图像已保存,您可以使用以下技巧进行回滚:
假设您的第一次部署是版本"v1",第二次部署是"v2"
gcloud preview app deploy app.yaml --promote --version v1
- 进行一些代码更改
gcloud preview app deploy app.yaml --promote --version v2
- 出于某种原因在控制台中删除v1
- 哦,不!v2有一个错误!用户疯了
- 哦,不!我删除了v1,无法在零停机的情况下立即切换回它
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
- 2-4分钟的停机时间
- 应用程序在v1版本重新开始工作