问题描述
当前,我们包含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 (将#修改为@)