如何使用 serverless-domain-manager 插件根据阶段设置不同的域?

How to set up different domains based on stage with serverless-domain-manager plugin?

我正在尝试使用 serverless-domain-manager 插件在无服务器中设置不同的自定义域。

我已按照本教程进行操作: https://serverless.com/blog/serverless-api-gateway-domain/

但该示例并未说明如何设置多个自定义域。

在我的 serverless.yml 文件中我有:

plugins:
  - serverless-domain-manager

custom:
  customDomain:
    basePath: ''
    domainName: MY_DOMAIN_HERE
    stage: dev
    createRoute53Record: true

如何添加另一个域?例如,对于 prod 阶段?

即使serverless.yml不支持条件逻辑,也可以模拟条件。

serverless.yml中添加:

custom:
  domain:
    dev: MY_DEV_DOMAIN
    prod: MY_PROD_DOMAIN
  customDomain:
    basePath: ''
    domainName:  ${self:custom.domain.${opt:stage}}
    stage: ${opt:stage}
    createRoute53Record: true

根据 sls deploy --stage 参数,将配置 devprod 域。

有关条件逻辑的更多信息: https://forum.serverless.com/t/conditional-serverless-yml-based-on-stage/1763