You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何部署Google App Engine生产新版本且不自动关停原有旧版本

解决方案

1. 部署时禁用自动流量切换

默认执行gcloud app deploy时,GAE会自动将100%流量切到刚部署的新版本,没有流量接入的旧版本实例会直接触发关停流程,这是你观察到现象的核心原因。
你可以在部署命令中添加--no-promote参数,新版本部署完成后不会接收任何流量,旧版本会继续承载全部请求,完全不影响现有运行实例:

gcloud app deploy --no-promote

后续你可以手动逐步切流量到新版本,旧版本实例会在流量完全清空后,等待你配置的idle_timeout阈值到达后自动停止,不会被强制关停。

2. 避免使用固定版本号部署

如果你的部署命令中指定了--version参数使用固定版本号,每次部署会直接覆盖同版本的实例,必然会触发旧实例强制关停。这种情况下需要每次部署使用不同的版本号,或者去掉--version参数让GAE自动生成唯一版本号,旧版本实例就会被独立保留。

3. 采用渐进式流量迁移

如果你需要在部署后立即切流量,不要使用默认的即时流量切换模式,改用渐进式迁移:

  • 你可以在控制台的流量分配页面选择「逐步迁移」选项,GAE会在几十分钟的时间窗口内慢慢把流量切到新版本,旧版本会持续处理存量请求,直到没有活跃请求后再按idle_timeout规则停止。
  • 用gcloud命令操作的话,可以用gcloud app services set-traffic命令逐步调整流量比例,避免瞬间把旧版本流量清0触发强制关停。

额外注意

如果你同时开启了自动版本清理功能,需要调整保留的版本数量阈值,避免旧版本因为超过保留数量被系统自动删除关停。


内容的提问来源于stack exchange,提问作者Frenchcooc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 06:39:04