操作场景
完成本地项目开发后,您可以快速部署应用、查看部署信息并进行函数调试。
前提条件
操作步骤
快速部署
您可以通过 Serverless Cloud Framework,快速将项目部署到云端,具体操作如下:
scf deploy
输入该指令后,Serverless Cloud Framework CLI 将会为您完成以下操作:
1. 扫码授权
通过扫描二维码,完成一键授权,授权后 CLI 工具会将生成临时密钥信息写入当前目录下的
.env
文件里,临时密钥的有效时间2小时,失效后,部署的时候会引导您重新扫码鉴权。如果不想重复扫码,您也可以将永久密钥配置在项目目录下的
.env
文件中:# .envTENCENT_SECRET_ID=xxxxxxxxxx #您账号的 SecretIdTENCENT_SECRET_KEY=xxxxxxxx #您账号的 SecretKey
2. 打包上传
完成授权后,Serverless Cloud Framework 会根据您在
serverless.yml
文件中配置的项目代码路径,自动为您进行项目的打包与上传。3. 云端部署
上传后的项目,会根据您在 yml 文件中进行的参数配置,完成云上资源的创建,部署完成后,命令行会输出部署后的资源信息。
高级能力
查看部署过程中的具体日志信息:
scf deploy --debug
多版本部署时,切换指定流量到 $latest 函数版本,其余流量到最后一次发的函数版本上,实现灰度发布。
scf deploy --inputs traffic=0.1 public=true
应用目录下含有多个 Serverless 实例,只需要更新指定项目:
scf deploy --target xxx
例如:在该项目根目录下,通过指令
scf deploy --target ./cos
,仅更新 cos 实例,其它实例不受影响。.├── src│ ├── serverless.yml│ └── index1.js├── cos│ └── serverless.yml├── db│ └── serverless.yml└── .env
查看部署信息
完成部署后,通过以下指令,查看项目的部署信息:
scf info
配置预置并发
通过 scf 命令,您可以快速为您部署的函数发布新版本并绑定预置并发实例配置,具体流程如下:
注意:
使用预置并发功能前,您必须保证已通过
scf deploy
完成函数 LATEST
版本部署,部署后,即可通过下列指定为函数发布版本并配置预置并发。默认配置
provisionedNum
预置并发数,将自动发布新版本,并为该版本绑定指定数量的并发。scf deploy --inputs provisionedNum=100
同时配置
provisionedNum
和 qualifier
参数,将为函数指定版本配置预置并发。例如,在函数版本1上配置预置并发,可执行如下命令:
scf deploy --inputs provisionedNum=100 qualifier=1
如需为其他版本配置预置并发,修改 qualifier 值即可。
当前还不支持通过命令行直接移除实例,请登录函数控制台完成实例的移除;或通过
scf remove
删除函数后重新发版部署。函数调试
说明:
Serverless Cloud Framework 云函数组件支持通过
invoke
命令触发云函数进行调试。对于scf deploy
部署成功的云函数,进入对应函数的项目目录下,执行函数调用命令,即可完成云上函数资源的远程调试,调试结果会在命令行进行输出:scf invoke --inputs function=functionName clientContext='{"weights":{"2":0.1}}'
invoke
命令必须在该函数部署的 serverless.yml 文件同目录下执行。clientContext
为触发函数时传递的 json 字符串。可以根据 触发事件模板 的 json 字符串格式模拟不同触发事件。常见问题
如您的环境配置了代理,可能会出现以下问题:
问题 1:输入
serverless
时没有默认弹出中文引导。
解决方案: 请确认您的 IP 在中国大陆区域,并在 .env 文件中增加配置 SERVERLESS_PLATFORM_VENDOR=tencent 即可。问题 2:输入
scf deploy
后部署报网络错误。
解决方案:在 .env 文件中增加以下代理配置。HTTP_PROXY=http://127.0.0.1:12345 #请将'12345'替换为您的代理端口HTTPS_PROXY=http://127.0.0.1:12345 #请将'12345'替换为您的代理端口