部署
危险
fn deploy
命令部署函数的文件大小总计不能超过 50 M,否则可能会部署失败。
在一个包含 cloudbaserc.json
配置文件的项目下,您可以直接使用下面的命令部署云函数:
tcb fn deploy <functionName>
使用 fn deploy
时,functionName
选项是可以省略的,当 functionName
省略时,Cloudbase CLI 会部署配置文件中的全部函数:
# 部署配置文件中的全部函数
tcb fn deploy
全部参数
Usage: tcb fn deploy [options] [name]
部署云函数
Options:
-e, --envId <envId> 环境 Id
--code-secret <codeSecret> 传入此参数将保护代码,格式为 36 位大小写字母和数字
--force 如果存在同名函数,上传后覆盖同名函数
--path <path> 自动创建HTTP 访问服务访问路径
--all 部署配置文件中的包含的全部云函数
--dir <dir> 指定云函数的文件夹路径
-h, --help 查看命令帮助信息
代码加密
在部署云函数时,你可以通过指定 --code-secret codeSecret
对上传的代码进行加密,codeSecret
支持 36 位的大小写字母、数字组成:
tcb fn deploy app --code-secret 7sGLwMnhgEfKmkqg2dMjB6xWk2hCxsAgGR6w
危险
启用代码加密后,将无法在小程序 IDE、腾讯云控制台中查看云函数的代码和信息。
覆盖同名函数
部署函数时,很可能会遇到已经存在同名云函数的情况,此时 Cloudbase CLI 会终止部署,询问是否覆盖同名函数,您可以选择覆盖已有的云函数或者终止部署。
如果您确定要覆盖可能存在的同名云函数,您可以在命令后附加 --force
选项指定 Cloudbase CLI 覆盖已存在的云函数。
tcb fn deploy dev --force
注意:覆盖函数时,也会覆盖函数的配置和触发器。
默认选项
Cloudbase CLI 为 Node.js 云函数提供了默认选项,您在部署 Node.js 云函数时可以不用指定云函数的配置,使用默认配置即可部署云函数。
云函数默认配置:
{
// 超时时间 5S
"timeout": 5,
// 运行时
"runtime": "Nodejs10.15",
// 自动安装依赖
"installDependency": true,
// 处理入口
"handler": "index.main",
// 忽略 node_modules 目录
"ignore": ["node_modules", "node_modules/**/*", ".git"]
}
deploy 命令做了啥?
fn deploy
会读取 cloudbaserc.json
文件中指定函数的配置,并完成以下几项工作:
- 将函数打包成压缩文件,并上传函数代码。
- 部署函数配置,包括超时时间、网络配置等。
- 部署函数触发器。