使用“eb deploy”在Elastic Beanstalk上部署到不同环境的多个环境分支管理git存储库的环境变量配置文件的最佳实践是什么?
我有一个带有prod和dev分支的git存储库,EB设置了prod和dev环境,以及每个env的环境配置文件(prod的env.config和dev的env_dev.config)。 env文件位于.gitignore中,但不在.ebignore中,因此它们不在源代码管理中,而是部署到EB。
如何设置它以便env.config仅部署到生产环境,而env_dev.config仅部署到dev?我问AWS支持,他们说没有办法在环境级别上有条件告诉它要包含哪个配置文件。
另一个想法是在每个分支中都有一个.ebignore文件忽略了另一个分支的env.config文件,但是当我将开发分支合并到生产时,这个文件也会出现。
答案 0 :(得分:0)
您可以使用ebextensions
的container_commands:
ENVIRONMENT
环境变量。创建一个.ebextension
container command,它基本上会source
获取来源的正确文件。 .ebextension
文件,例如env_sourcer.config
,如下所示:
container_commands:
if [ $ENVIRONMENT == 'PRODUCTION' ]; then source ./env.config; else source ./env_dev.config; fi