serverless-midway-plugin
serverless plugin for midway faas
Last updated 6 months ago by czy88840616 .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install serverless-midway-plugin 
SYNC missed versions from official npm registry.

serverless-midway-plugin

invoke 调用函数

如何本地测试使用?

安装serverless框架 npm i serverless -g 进入到 /test/invoke 目录,执行 serverless invoke -f index

调用函数的流程:

  1. 触发默认provider的invoke:invoke 在其中判断是否为本地,如果不是本地调用则跳过
  2. 判断provider是否与 serverless.yml 中的provider一致 判断是否为远程调用,如果不是则跳过

参数

f(function) 指定调用函数

> serverless invoke -f index

remote 远程调用

默认为本地调用

> serverless invoke -f index --remote

package 打包

如何本次测试使用?

安装serverless框架 npm i serverless -g 进入到 /test/deployAliyun 目录,执行 serverless package

打包函数的流程

'midway-cleanup', 'midway-compileFunctions', 'midway-spec', 'midway-wrapper', 'midway-copyFile', 'midway-layerInstall', 'midway-depInstall', 'midway-package', 'midway-finalize' 支持 --npm=cnpm 参数来指定npm镜像加速打包

  1. midway-cleanup 清理函数构建目录 确保函数构建目录存在 支持 --skipClean=true 参数跳过清理目录

  2. midway-spec 生成对应平台的spec描述文件

  3. midway-wrapper 生成对应平台的handler包裹文件

  4. midway-copyFile 拷贝文件到待打包目录 主要是在 serverless.ymlpackage.include 中指定的文件及文件夹列表 默认会将 package.json 文件进行拷贝

  5. midway-layerInstall 安装layer

  6. midway-depInstall 安装全局的依赖列表(globalDependencies)进行依赖安装 按照package.json中的dependencies进行依赖安装 按照package.json中的localDependencies安装本地依赖

      {
        "localDependencies": {
          "@midwayjs/rumtime": "../../faas"
        }
      }
    

等价于 Object.assign({}, pkg.dependencies, globalDependencies, pkg.localDependencies);

  1. midway-compileFunctions 函数编译,主要是typescript编译,支持使用 --ncc=true 参数使用ncc打包为一个文件
  2. midway-package 打包生成zip文件 支持 --skipZip=true 参数跳过构建生成zip包
  3. midway-finalize 打包结束

deploy 部署

如何本次测试使用?

  1. 需要先进入 ../faas../runtime-engine../serverless-scf-starter../serverless-fc-starter 目录分别执行 npm install --production
  2. 安装serverless框架 npm i serverless -g
  3. 如果部署到阿里云:进入到 /test/deployAliyun 目录,执行 serverless deploy
  4. 如果部署到腾讯云:进入到 /test/deployTencent 目录,执行 serverless deploy

高密度部署相关Q&A

  1. 高密度部署只有在配置了http触发器的域名后可用
  2. handler名称必须与文件名保持一致,这是为什么?
  3. 高密度部署相关方法必须配置 path路径,切以 / 开头

Current Tags

  • 0.2.0                                ...           beta (6 months ago)
  • 0.2.4                                ...           latest (6 months ago)

27 Versions

  • 0.2.4                                ...           6 months ago
  • 0.2.2                                ...           6 months ago
  • 0.2.1                                ...           6 months ago
  • 0.2.0                                ...           6 months ago
  • 0.1.12                                ...           6 months ago
  • 0.1.11                                ...           6 months ago
  • 0.1.10                                ...           6 months ago
  • 0.1.9                                ...           7 months ago
  • 0.1.8                                ...           7 months ago
  • 0.1.7                                ...           7 months ago
  • 0.1.6                                ...           7 months ago
  • 0.1.5                                ...           7 months ago
  • 0.1.4                                ...           7 months ago
  • 0.1.3                                ...           7 months ago
  • 0.1.2                                ...           7 months ago
  • 0.1.1                                ...           7 months ago
  • 0.1.0                                ...           7 months ago
  • 0.0.10                                ...           7 months ago
  • 0.0.9                                ...           7 months ago
  • 0.0.8                                ...           7 months ago
  • 0.0.7                                ...           7 months ago
  • 0.0.6                                ...           7 months ago
  • 0.0.5                                ...           7 months ago
  • 0.0.4                                ...           7 months ago
  • 0.0.3                                ...           7 months ago
  • 0.0.2                                ...           7 months ago
  • 0.0.1                                ...           7 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 27
Last Day 0
Last Week 27
Last Month 1
Dependencies (15)
Dev Dependencies (1)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |