搜索

首页  >  问答  >  正文

python - django请教下各位,怎么管理生产环境和开发环境的配置

目前想到两种方式管理配置文件:

1.写两个product_settings.py, development_setting.py, 然后写个build脚本,根据
jenkins 设置构建环境,不同的环境将不同的配置文件软连接或者cp成settings.py

2.线上环境用的是supervisor+gunicorn+nginx+django,gunicorn启东时,可以设置变量,
设置一个DJANGO_RUN_ENV变量,然后在settings.py中通过判断变量的值,更新不同的配置,
但是有一个默认的配置就是线上的。

不知道哪种方式更加合适一些,请大神分享下自己的配置文件管理方式,万分感谢。

高洛峰高洛峰2888 天前463

全部回复(3)我来回复

  • 阿神

    阿神2017-04-18 09:17:41

    雷雷

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:17:41

    我是使用的第一种方式

    回复
    0
  • 阿神

    阿神2017-04-18 09:17:41

    一般Python项目的alpha、beta或者生产的机器会统一刷python项目运行所需的环境(一般指的是基础设施:例如redis、mq等),可以专门刷一份环境相关的配置文件(例如:/etc/google/env.yaml), 在这个文件中指定当前机器所属的环境(alpah、beta、prod等),然后可以放一个字段:

    env: alpha/beta/prod

    然后你的django项目配置个模块用于读取机器环境配置文件。

    这个方法看似啰嗦,但是其实对于环境的管理真的很好使,我们就是这么搞得。

    回复
    0
  • 取消回复