为了规范云函数的发布流程,小程序云提供了云部署功能,使云函数支持发布流,提供灰度发布,打包发布等能力。该功能上线后,会统一关闭IDE中云函数线上环境的部署入口,ISV需要到控制台通过云部署功能进行线上环境的部署。
云部署原理:云函数先通过IDE在预发环境进行部署,通过提交发布单将预发环境下的函数灰度同步至线上环境
开发者进入控制台点击云部署,可查看当前线上发布单。下面待发布的函数列表为当前已部署到预发环境下的函数。
1)当前无发布单时,开发者可以勾选本次将要进行线上发布的函数,进行打包发布。
2)提交发布后,本次发布的线上函数进入准备发布阶段,在进行灰度部署前,可以继续添加函数进入/退出发布流程。当函数进入灰度部署阶段,不可再进入/退出发布。
云函数线上发布流分为5个阶段(准备 灰度部署 灰度切流 提交正式发布 正式部署)
点击“提交灰度部署”按钮,函数开始进行灰度部署。若跳过灰度流程,发布流直接进入提交正式发布阶段(当本次发布单发布的所有函数都是首次进行线上部署时,建议直接跳过灰度阶段)
进入灰度部署后,会显示当前灰度部署的进度以及每个函数发布的状态。对于其中首次部署的函数,系统默认不灰度,直接部署到线上。
所有函数都部署成功后,则可以进入灰度切流阶段。
注意:当点击“关闭灰度部署”按钮后,当前整个发布单会关闭,若想再次发布,只能重新提交发布单。
一开始默认灰度1%的流量,开发者可点击“更新流控比例”按钮来调整切流的比例,同时可以查看灰度流量的链路调用情况。点击“停止切流”按钮,会将流量切回线上,退回灰度部署阶段,此时可继续进行切流或者关闭灰度部署。
当灰度流量下测试无问题时,可点击“灰度验证通过”按钮进入提交正式发布阶段。
点击“提交正式部署”按钮,进入正式部署阶段,开始将函数部署到线上。当函数部署成功后,点击验证通过,本次部署单结束,才可以进行下一次部署。
点击“部署记录”按钮,可以查看历史部署记录。