首页 > 解决方案 > 设置 CodeDeploy 部署环境变量

问题描述

我的 NodeJS 应用程序有一个 CD 管道,该管道包含以下步骤:

1) Travis CI 将 master 分支作为 zip 文件上传到 S3

2) Travis CI 触发 AWS CodeDeploy 部署

3) CodeDeploy 抓取 .zip 文件,将其解压缩到我的 AWS EC2 并运行应用程序

但是我的 NodeJS 应用程序需要一些环境变量才能运行。由于这些变量的值很敏感,我将这些变量存储在 TravisCI 的存储库设置中,并且不知道如何将我的环境变量从 Travis 传递到 EC2。

我可以使用envappspec.yml 的属性(用于 CodeDeploy)但我的环境。包含不应在代码存储库中的敏感信息的变量。

是否有任何最佳实践来通过我的环境。瓦尔斯。通过 CodeDeploy 从 Travis 到 EC2 实例?

现在我正在做的是,.env在 Travis 构建期间生成一个文件并将其添加到.zip文件中,因此当应用程序部署到 EC2 时,我可以通过使用dotenvNodeJS 包来访问它们。但我认为这不是最好的方法。

标签: amazon-web-servicesamazon-ec2travis-ciaws-code-deploy

解决方案


您可以在 S3 中以加密格式保存它们(当然不是作为代码的一部分),并在部署前获取它们并在部署后删除它们。您也可以使用https://www.vaultproject.io/


推荐阅读