假设我有几个ElasticBeanstalk环境:
每个环境都有类似的Dockerrun.aws.json(哪些卷应该链接到哪里),但是有不同的环境variables(例如什么是RDS数据库url,什么是RDS密码,mandril API密钥…)
我应该存储在自己的文件(qa-Dockerrun.aws.json,prod-Dockerrun.aws.json,…)中的每个环境的环境variables,并告诉eb deploy使用该文件(如果是的话,我该怎么做? ?)
要么
我应该设置环境与eb setenv POSTGRES_PASS=xyzsecretabc 文档,而不是将它们放在Dockerrun.aws.json
欢迎任何其他build议
我想避免让我的敏感信息存储在git当然
谢谢
花了一些时间之后,我决定采用这个解决scheme:
做两个:)
跟踪弹性beanstalk中的所有环境variables(显然是有限制的数字,没有检查doh)是很难的,将数据库密码提交给版本控制是很愚蠢的。
在Dockerrun.aws.json和版本控制(git)中保留已经公开的内容,如DB_PORT_5432_TCP_ADDR (RDS公共DNS), DB_ENV_POSTGRES_USERNAME (postgres用户名), REDIS_PORT_6379_TCP_ADDR , S3_BUCKET_NAME (资产存储桶)
但是像DB_ENV_POSTGRES_PASSWORD , SECRET_KEY_BASE , MANDRIL_API_TOKEN , AWS_SECRET_ACCESS_KEY等Elastic Beanstalk环境