灰度发布

最近更新时间:2023-08-28 21:50:54

我的收藏

操作场景

在业务进行版本更新及切换时,为了保证线上业务稳定,建议采取灰度发布的方式。本文以已部署的 express 项目为例,为您介绍两种灰度发布的操作步骤。

前提条件

已完成 开发项目

操作步骤

1. 设置生产环境中的 .env:
TENCENT_SECRET_ID=xxxxxxxxxx
TENCENT_SECRET_KEY=xxxxxxxx
STAGE=prod
2. 部署到线上环境 $latest,并切换10%的流量在 $latest 版本(90%的流量在最后一次发布的云函数版本 N 上):
scf deploy --inputs traffic=0.1
3. 对 $latest 版本进行监控与观察,等版本稳定之后把流量100%切到该版本上:
scf deploy --inputs traffic=1.0
4. 流量全部切换成功后,对于一个稳定版本,我们需要对它进行标记,以免后续发布新功能时,如果遇到线上问题,方便快速回退版本。部署并发布函数版本 N+1,切换所有流量到版本 N+1:
scf deploy --inputs publish=true traffic=0
说明
云函数组件支持了自定义别名的灰度发布,可以在任意两个函数版本间进行流量规则配置,详细说明请参考Serverless 灰度发布