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