如何使用无服务器框架在单个 serverless.yml 文件中创建不同的阶段或环境?
How to create different stages or environments in single serverless.yml file using serverless framework?
我刚开始使用无服务器框架,我想创建三个不同的环境 dev、Qa、prod。我如何在单个 serverless.yml 文件中创建?提供商是 AWS。
您可以传递一个 stage
CLI 选项,该选项可以在 serverless.yml
文件中的任何需要的地方插入。例如,执行以下 CLI 命令:
serverless --stage dev deploy
这可以在 serverless.yml
和 ${opt:stage}
中访问。我通常将其包含在 provider
:
下
provider:
stage: ${opt:stage}
然后您可以使用 ${self:provider.stage}
.
在 serverless.yml
中的任何位置获取 stage
选项的值
部署 lambda 时,它们的 ARN 会自动构建,前缀为 service
名称(由 serverless.yml
中的 service
键定义)、阶段和 lambda名称,如下所示:
arn:aws:lambda:us-east-1:010101010101:function:myservice-dev-mylambdaname
因此您可以简单地 运行 部署 CLI 命令用于您想要的其他两个 stages/environments,并且每个环境都有一组单独的资源。
我刚开始使用无服务器框架,我想创建三个不同的环境 dev、Qa、prod。我如何在单个 serverless.yml 文件中创建?提供商是 AWS。
您可以传递一个 stage
CLI 选项,该选项可以在 serverless.yml
文件中的任何需要的地方插入。例如,执行以下 CLI 命令:
serverless --stage dev deploy
这可以在 serverless.yml
和 ${opt:stage}
中访问。我通常将其包含在 provider
:
provider:
stage: ${opt:stage}
然后您可以使用 ${self:provider.stage}
.
serverless.yml
中的任何位置获取 stage
选项的值
部署 lambda 时,它们的 ARN 会自动构建,前缀为 service
名称(由 serverless.yml
中的 service
键定义)、阶段和 lambda名称,如下所示:
arn:aws:lambda:us-east-1:010101010101:function:myservice-dev-mylambdaname
因此您可以简单地 运行 部署 CLI 命令用于您想要的其他两个 stages/environments,并且每个环境都有一组单独的资源。