2012-09-11 76 views
9

AWS没有正确解释如何在不同环境下管理beanstalk上不同的部署环境以及如何将这些设置保存在源代码管理库中。在Elastic Beanstalk上针对不同环境使用不同配置部署Python

他们解释清楚如何设置你的python.config在.ebextensions像这样:

"aws:elasticbeanstalk:container:python:environment": 
    DJANGO_SETTINGS_MODULE: "settings" 
    SERVER_ROOT: "/opt/python/current/app/" 

但是,如果你想有多个环境,如分期和督促你目前有换出你的配置文件。更糟糕的是,您如何计划将这个保留在您的源代码控制树中以用于共享环境(如分级)?看来每次推动你都需要这些配置环境设置。

我也发现AWS不允许我部署未经处理的更改,这意味着编写脚本来处理我的部署不是一个选项。我在这里错过了什么?

回答

0

还没有尝试过,但看起来你可以通过DJANGO_SETTINGS_MODULE不是通过配置文件,而是通过容器自己的参数。您可以通过Beanstalk控制台的环境详细信息 - >编辑配置 - >容器部分来更新它。 正如理念:

  • 创建多个环境的“生产”,“分期”等
  • 配置各相关DJANGO_SETTINGS_MODULE
  • .ebextensions 预创建
  • 部署应用环境
  • 删除DJANGO_SETTINGS_MODULE值
0

我在过去做了一些挖掘,看起来他们喜欢你用eb branch来配置e不同的环境,然后在eb客户端本地的选项设置(当您初始化分支和东西时)以不同的方式配置选项。

当你考虑这个问题时,环境配置(即DJANGO_SETTINGS_MODULE)应该与应用程序代码分开管理,所以我只是假设它保留在ebextensions之外并在我导航到新环境时进行设置。如果我切换到现有的一个需要确保值设置为我想要玩的env。

相关问题