amazon-web-services - 设置 CodeDeploy 部署环境变量
问题描述
我的 NodeJS 应用程序有一个 CD 管道,该管道包含以下步骤:
1) Travis CI 将 master 分支作为 zip 文件上传到 S3
2) Travis CI 触发 AWS CodeDeploy 部署
3) CodeDeploy 抓取 .zip 文件,将其解压缩到我的 AWS EC2 并运行应用程序
但是我的 NodeJS 应用程序需要一些环境变量才能运行。由于这些变量的值很敏感,我将这些变量存储在 TravisCI 的存储库设置中,并且不知道如何将我的环境变量从 Travis 传递到 EC2。
我可以使用env
appspec.yml 的属性(用于 CodeDeploy)但我的环境。包含不应在代码存储库中的敏感信息的变量。
是否有任何最佳实践来通过我的环境。瓦尔斯。通过 CodeDeploy 从 Travis 到 EC2 实例?
现在我正在做的是,.env
在 Travis 构建期间生成一个文件并将其添加到.zip
文件中,因此当应用程序部署到 EC2 时,我可以通过使用dotenv
NodeJS 包来访问它们。但我认为这不是最好的方法。
解决方案
您可以在 S3 中以加密格式保存它们(当然不是作为代码的一部分),并在部署前获取它们并在部署后删除它们。您也可以使用https://www.vaultproject.io/。
推荐阅读
- python - Ajax 在 Django 中没有显示任何功能
- gcc - gnatmake -o 标志产生不正确的目标文件名
- android - 通过数据库更改,我不断增加对我的可观察对象的重复 onChange 传递
- python - 计算文本文件中不同的单词:Shell 和 Python 中的不同结果
- php - 一个月结束后过去一个月
- c++ - 如何计算两个负整数之间的总和c ++
- python - 将 JSON 文档展平为单行
- javascript - 当前一个输入元素达到特定大小时,如何将焦点移动到另一个输入元素?
- acumatica - 如何自定义发布现金交易批量发布屏幕
- reactjs - 如何根据我的道具的布尔值停止执行我的承诺?