跳到主要内容

部署

危险

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 文件中指定函数的配置,并完成以下几项工作:

  1. 将函数打包成压缩文件,并上传函数代码。
  2. 部署函数配置,包括超时时间、网络配置等。
  3. 部署函数触发器。