amazon-web-services - 设置 CodeDeploy 部署环境变量

标签 amazon-web-services amazon-ec2 travis-ci aws-code-deploy

我的 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)但我的 env。包含不应在代码存储库中的敏感信息的变量。

是否有任何最佳实践可以通过我的 env.变量。通过 CodeDeploy 从 Travis 到 EC2 实例?

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

最佳答案

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

关于amazon-web-services - 设置 CodeDeploy 部署环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56990037/

相关文章:

amazon-web-services - Mesos - 动态集群大小

travis-ci - Travis 找不到我的 travis.yml 文件

postgresql - RDS Postgres DB IAM generate_db_auth_token 不工作

amazon-web-services - 创建异步模型时的单个 SQS 队列与多个 SQS 队列

python - 如何在 Python 中从 AWS 中的 lambda 函数返回二进制数据?

amazon-ec2 - 无法从 Oracle Linux Virtualbox 连接到 AWS centos 实例

amazon-web-services - 如何在cloudformation中获取Elastic Beanstalk EC2实例的instanceId?

r - 在 Travis CI 上构建 R 包时出错“"tlmgr update --self"失败”

travis-ci - 将徽章链接到分支构建历史记录

amazon-web-services - 无法删除 Athena table