【发布时间】:2019-12-24 01:25:30
【问题描述】:
我们的目标是创建不可变的工件并将它们部署在不同的环境中。
Serverless Framework 已经通过package 功能支持这一点,因此我们可以只构建一个构建包并将其部署在不同的环境/AWS 帐户中。
我们在构建帐户/环境中使用sls package -v -p build 创建包,然后使用sls deploy -v -p build 在我们的开发、集成和生产环境中部署它。
很遗憾,我们还没有找到覆盖不同帐户/环境中的环境变量的方法。使用的变量和环境在打包后硬编码在cloudformation-template-update-stack.json中。
我们尝试了什么:
- 带有外部文件的配置,例如
SQS_QUEUE_NAME: ${file(config/config.${self:provider.stage}.json):SQS_QUEUE_NAME}或SQS_QUEUE_NAME: ${file(config/config.${opt:stage}.json):SQS_QUEUE_NAME} - serverless-plugin-composed-vars
- 在部署期间覆盖配置文件,例如
sls deploy -v -c config/config.production.json -p build
我们missed 有什么吗?
谢谢!
【问题讨论】:
标签: aws-lambda serverless-framework