aws-lambda - 打包后覆盖变量或环境值
问题描述
我们的目标是创建不可变的工件并将它们部署在不同的环境中。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}
- 无服务器插件组合变量
- 在部署期间覆盖配置文件,例如
sls deploy -v -c config/config.production.json -p build
我们有missed
什么吗?谢谢!
解决方案
您是否尝试过使用--stage
国旗?指示环境?
推荐阅读
- mysql - WinNMP 升级 MariaDB 到 MySQL
- android - 如何使 HTML 文件输入仅选择移动设备上的文档格式?
- arrays - 在数组中查找最后出现的匹配条件
- react-native - 我可以使用 FileSystem 将 pdf 文件下载到 expo 的本地设备吗?
- reactjs - 如何使用 ReactJS 应用程序开发和测试 Firebase 可调用函数?
- amazon-web-services - 过滤加载到 Redshift 中的数据
- javascript - ESLint:可能的竞争条件:`user.registered` 可能会根据 `user.registered` 的过时值重新分配。(需要原子更新)
- c# - 如何使用 MS Graph 将 Azure 门户注册的应用程序限定为只能访问 sharepoint 中的特定日历
- html - Jumbotron 背景图片与 HTML 背景图片不同步
- mysql - Docker 使用自定义 MySQL 配置文件总是失败