代码之家  ›  专栏  ›  技术社区  ›  Mehran

当lambda函数具有别名时,如何部署大于一个CloudFormation堆栈的serverless项目

  •  0
  • Mehran  · 技术社区  · 6 年前

    我尝试部署一个不适合单个CloudFormation堆栈的无服务器yaml文件。在网上搜索,似乎有插件。到目前为止,我已经测试过了 serverless-plugin-split-stacks . 它很管用,但是。。。

    我成功地部署了我的项目,其中包括200多个CloudFormation资源(没有前面提到的插件,我无法做到这一点)。只是,我需要用 serverless-aws-alias 插件也是。以前,没有 无服务器插件拆分堆栈 插件,我正在部署我的项目和 无服务器aws别名 插件为我创建别名没有任何问题。

    但现在(在添加 无服务器插件拆分堆栈

    我想知道是否有人在使用 无服务器aws别名 插件!?

    下面是一个简单的测试用例:

    service: serverless-test
    
    provider:
      name: aws
      runtime: nodejs12.x
      endpointType:                                REGIONAL
    
    plugins:
    - serverless-plugin-split-stacks
    - serverless-aws-alias
    
    custom:
      splitStacks:
        nestedStackCount: 20
        perFunction: false
        perType: false
        perGroupFunction: true
    
    functions:
      create:
        handler: code.get
        events:
          - http:
              path: /
              integration:                           lambda
              method: get
              cors: true
    

    如果你部署这个 serverless.yml 像这样的文件:

    sls deploy --region us-east-1 --stage dev --alais dev
    

    $ sls -v
    Framework Core: 1.61.2
    Plugin: 3.6.6
    SDK: 2.3.0
    Components Core: 1.1.2
    Components CLI: 1.4.0
    
    $ cat ./package.json 
    {
      "name": "serverless-test",
      "version": "1.0.0",
      "description": "",
      "main": "code.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "serverless-aws-alias": "^1.8.0",
        "serverless-plugin-split-stacks": "^1.9.3"
      }
    }
    
    0 回复  |  直到 6 年前