腾讯云 Serverless 应用中心 - yml 文件规范
文档简介:
Serverless Cloud Framework 通过项目配置文件 serverless.yml 完成应用的类型识别与资源配置,本地开发完成后的项目,必须先配置 yml 文件,才可以通过运行 scf deploy 命令,将 serverless.yml 中的配置文件和 inputs 中指定参数或代码目录会都被传入 Serverless Components 部署引擎中,从而完成云端部署。
Serverless Cloud Framework 通过项目配置文件 serverless.yml 完成应用的类型识别与资源配置,本地开发完成后的项目,必须先配置 yml 文件,才可以通过运行 scf deploy 命令,将 serverless.yml 中的配置文件和 inputs 中指定参数或代码目录会都被传入 Serverless Components 部署引擎中,从而完成云端部署。
基本信息
一个基本的 serverless.yml 文件里,第一层配置字段为以下内容:
#应用组织信息(可选)app: '' # 应用名称。留空则默认取当前组件的实例名称为app名称。stage: '' # 环境名称。默认值是 dev。建议使用 ${env.STAGE} 变量定义环境名称#组件信息component: scf # (必选) 组件名称,在该实例中为 scfname: scfdemo # (必选) 组件实例名称。#组件参数配置,根据每个组件,实现具体的资源信息配置inputs:
详细配置
在 inputs 字段里,根据每个组件创建的云上资源,会进行对应的信息配置,此处以 云函数 SCF 组件 为例,input 字段内的二级目录如下:
inputs:name: xxx # 云函数名称,默认为 ${name}-${stage}-${app}src: ./src # 项目代码路径,默认写法,新建特定命名的 COS Bucket 并上传handler: index.main_handler #入口runtime: Nodejs10.15 # 运行环境 默认 Nodejs10.15region: ap-guangzhou # 函数所在区域description: This is a function in ${app} application.environment: # 环境变量variables: # 环境变量对象TEST: valuelayers: #layer配置- name: scfLayer # layer名称version: 1 # 版本events: # 触发器配置- timer: # 定时触发器parameters:cronExpression: '*/5 * * * * * *' # 每5秒触发一次enable: true
全量配置列表
目前 Serverless Cloud Framework 各个组件的全量配置信息列表如下:
基础组件
组件名称
|
全量配置
|
SCF 组件
|
SCF - serverless.yml 全量配置
|
Website 组件
|
Website - serverless.yml 全量配置
|
API 网关组件
|
API 网关 - serverless.yml 全量配置
|
VPC 组件
|
VPC - serverless.yml 全量配置
|
COS 组件
|
COS - serverless.yml 全量配置
|
PostgreSQL 组件
|
PostgreSQL - serverless.yml 全量配置
|
CynosDB 组件
|
CynosDB - serverless.yml 全量配置
|
CDN 组件
|
CDN - serverless.yml 全量配置
|
Layer 组件
|
Layer - serverless.yml 全量配置
|
框架组件
组件名称
|
全量配置
|
Express 组件
|
Express - serverless.yml 全量配置
|
Koa 组件
|
Koa - serverless.yml 全量配置
|
Egg 组件
|
Egg - serverless.yml 全量配置
|
Next.js 组件
|
Next.js - serverless.yml 全量配置
|
Nuxt.js 组件
|
Nuxt.js - serverless.yml 全量配置
|
Flask 组件
|
Flask - serverless.yml 全量配置
|
Django 组件
|
Django - serverless.yml 全量配置
|
Laravel 组件
|
Laravel - serverless.yml 全量配置
|
ThinkPHP 组件
|