Deploy 命令

deploy 命令是对函数资源进行部署的命令,即将本地在 Yaml 文件 中声明的资源部署到线上。

关于 如何部署多个函数 等问题,请参考 Tips 文档

命令解析

当执行命令deploy -h/deploy --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml 模式下必填参数含义
function-选填部署类型,可以选择code, config;code 表示仅更新函数代码,config 表示仅更新函数配置
trigger-选填指定触发器名称,只部署触发器;支持多个触发器,名称用 "," 分割
skip-push-选填跳过自动推送容器镜像这一环节, 仅针对 custom-container runtime
assume-yesy选填在交互时,默认选择y

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

有资源描述文件(Yaml)时,可以直接执行s deploy进行资源部署,部署完成的输出示例:

hello_world:
  region:         cn-hangzhou
  description:    hello world by serverless devs
  functionName:   start-python-5lyc
  handler:        index.handler
  internetAccess: true
  logConfig:
    enableInstanceMetrics: true
    enableRequestMetrics:  true
    logBeginRule:          DefaultRegex
    logstore:              function-logstore
    project:               143**********149-cn-huhehaote-project
  memorySize:     128
  role:
  runtime:        python3.9
  timeout:        30

注意事项

在进行资源部署时,会涉及到一定的特殊情况,可以参考以下描述:

  • 只需要部署/更新代码,可以增加--function code参数;只需要部署/更新配置,可以增加--function config参数;
  • auto: 支持如下三种模式的 auto, s 会自动创建并复用相关云资源,一般用于快速体验上手。
    • logConfig: auto
    • nasConfig: auto
    • vpcConfig: auto

权限与策略说明

deploy命令的权限,更多是和 Yaml 中所配置的参数有一定的关系,所以此处可以参考 Yaml 规范文档 中关于不同字段与权限的配置。

一般是 AliyunFCFullAccess 即可, 如果涉及到触发器或者上文中的 auto, 即需要相关云资源的权限。

在 GitHub 上编辑本页面 更新时间: Thu, Feb 22, 2024