如何解决AWS将大量的ENV变量传递到代码构建中
当前,我们包含5个容器的单例应用程序通过AWS pipeline
进入code build
,然后将代码部署到ECS服务中。在基于代码构建$Stage
中设置的ENV的代码构建期间,它可以为dev,prod or staging
并加载一个特定的配置文件,该文件包含每个容器所需的所有ENV变量。见下文:
build:
commands:
#Get commit id
- "echo STAGE $STAGE"
- "export STAGE=$STAGE"
#Assigning AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY needs to be done in two steps,otherwise it ends up in "Partial credentials found in env" error
- "export ANSIBLE_VARS=\"\
USE_EXISTING_VPC=true \
disABLE_BASIC_AUTH=true\""
- "export DOCKER_ARGS=\"-e COMMIT_ID=$GIT_COMMIT -e APP_ENV=$STAGE
问题1 :这些配置文件是否在存储库中,任何人都可以对其进行修改。因此,存在很多人为错误,例如生产重定向Url指向错误的位置,或者未设置新的ENV。
因此,我想远离加载不同的配置文件,并将ENV变量移至AWS进行处理。类似于在代码构建过程中,它将从parameter store
加载。这是正确的方法吗?
问题2 是否有很多ENV变量,是在CloudFormation模板中逐个列出它们的唯一选择吗?还有其他更好的方法可以从上述构建命令将所有ENV变量加载到DOCKER_ARG
中吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。