如何在 GCP 中设置和构建以前的图像
How to set up and build previous image working in GCP
我是 google 云的新手。
我们的项目已经部署在 google 云端。我们正在使用 gcloud deploy 命令来部署任何构建,我们对此很满意。
我的问题是:如果我当前的构建在生产部署期间失败并且有很多用户使用该应用程序怎么办。
那么,如何在 GCP 中立即更新之前的 image/build?我已经尝试使用 pull docker 并推送它然后通过“gcloud build submit”命令提交...但它没有部署实际指定的 docker 图像,它正在部署我所在的文件夹 运行 “gcloud build submit”命令..
请分享您的建议..
您担心在部署损坏的版本时不破坏所有用户是合理的,而且您并不孤单!!
这就是 App Engine(以及 Cloud 运行)上存在一项很酷的功能的原因:Traffic splitting。
为了高效地使用它,您可以像这样在生产中部署新版本:
gcloud app deploy --no-promote
这里部署了新版本,但 0% 的流量路由到它。现在使用这个命令来增加流量,比如说 1%
gcloud app services set-traffic <YOUR_SERVICE> --splits <OldVersionName>=99,<NewVersionName>=1
监控您的应用程序一段时间,如果没有错误,继续逐渐增加流量,直到有信心并 100% 路由
如果版本不好,将新版本的流量设置为 0%,now/or 对您的用户影响较小。
我是 google 云的新手。
我们的项目已经部署在 google 云端。我们正在使用 gcloud deploy 命令来部署任何构建,我们对此很满意。
我的问题是:如果我当前的构建在生产部署期间失败并且有很多用户使用该应用程序怎么办。
那么,如何在 GCP 中立即更新之前的 image/build?我已经尝试使用 pull docker 并推送它然后通过“gcloud build submit”命令提交...但它没有部署实际指定的 docker 图像,它正在部署我所在的文件夹 运行 “gcloud build submit”命令..
请分享您的建议..
您担心在部署损坏的版本时不破坏所有用户是合理的,而且您并不孤单!!
这就是 App Engine(以及 Cloud 运行)上存在一项很酷的功能的原因:Traffic splitting。
为了高效地使用它,您可以像这样在生产中部署新版本:
gcloud app deploy --no-promote
这里部署了新版本,但 0% 的流量路由到它。现在使用这个命令来增加流量,比如说 1%
gcloud app services set-traffic <YOUR_SERVICE> --splits <OldVersionName>=99,<NewVersionName>=1
监控您的应用程序一段时间,如果没有错误,继续逐渐增加流量,直到有信心并 100% 路由
如果版本不好,将新版本的流量设置为 0%,now/or 对您的用户影响较小。