Serverless 框架中不同的分支如何使用不同的 yml 文件

How to have different yml file for different branch in Serverless framework

我使用无服务器框架来管理我的 AWS lambda 函数。我还使用 git 与其他开发人员进行管理。我有 2 个分支,分别是开发和生产。如果该功能已准备好发布,我们会将开发分支合并到我的生产分支 master 中。

我的问题是,有没有办法在.yml文件中分离providerfunctions配置?我需要忽略 provider 部分,所以每个分支都有自己的配置,但我需要 functions 从开发阶段更新到生产阶段。

如果您使用某种环境变量来确定状态 devprod

你可以有这样的东西:

serverless.yml

...
provider: ${file(./path_to_extra_yaml/${env:STATE}-provider.yml)}
...

然后您可以对提供商进行额外配置

dev-provider.yml

...
name: aws
region: us-west-1
runtime: java
...

prod-provider.yml

...
name: aws
region: us-west-2
runtime: java
...