[英]Deploying Python on Elastic Beanstalk with different configurations for different environments
AWS没有正确解释如何管理beanstalk上与不同环境相关的不同部署环境,以及如何在源代码管理存储库中保存这些设置。
他们清楚地解释了如何在.ebextensions中设置python.config,如下所示:
"aws:elasticbeanstalk:container:python:environment":
DJANGO_SETTINGS_MODULE: "settings"
SERVER_ROOT: "/opt/python/current/app/"
但是,如果您想拥有多个环境(如staging和prod),则必须更换配置文件。 更糟糕的是,您计划如何在源控制树中保留这个以用于共享环境(如分段)? 看来每次推送都需要这些配置环境设置。
我还发现AWS不允许我部署非分段更改,这意味着编写脚本来处理我的部署也不是一种选择。 我在这里错过了什么?
没试过,但似乎你可以通过配置文件传递DJANGO_SETTINGS_MODULE
,但是通过容器自己的参数。 您可以通过Beanstalk控制台的环境详细信息 - >编辑配置 - >容器部分进行更新。 同样的想法:
DJANGO_SETTINGS_MODULE
值配置每个值 .ebextensions
删除DJANGO_SETTINGS_MODULE值 我过去做了一些挖掘,似乎他们喜欢你使用eb branch
来配置不同的环境,然后在eb客户端级别的本地选项设置中配置选项(当你初始化分支和东西时)。
考虑一下,环境配置(即DJANGO_SETTINGS_MODULE
)应该与应用程序代码分开管理,所以我只是假设将其保留在ebextensions之外并在我导航到新环境时进行设置。 如果我切换到现有的需要确保为我想要播放的env正确设置了值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.