操作场景
在业务进行版本更新及切换时,为了保证线上业务稳定,建议采取灰度发布的方式。本文以已部署的 express 项目为例,为您介绍两种灰度发布的操作步骤。
前提条件
操作步骤
1. 设置生产环境中的 .env:
TENCENT_SECRET_ID=xxxxxxxxxxTENCENT_SECRET_KEY=xxxxxxxxSTAGE=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
说明