目前想到两种方式管理配置文件:
1.写两个product_settings.py, development_setting.py, 然后写个build脚本,根据
jenkins 设置构建环境,不同的环境将不同的配置文件软连接或者cp成settings.py
2.线上环境用的是supervisor+gunicorn+nginx+django,gunicorn启东时,可以设置变量,
设置一个DJANGO_RUN_ENV变量,然后在settings.py中通过判断变量的值,更新不同的配置,
但是有一个默认的配置就是线上的。
不知道哪种方式更加合适一些,请大神分享下自己的配置文件管理方式,万分感谢。
阿神2017-04-18 09:17:41
일반적으로 Python 프로젝트의 알파, 베타 또는 프로덕션 머신은 Python 프로젝트를 실행하는 데 필요한 환경(일반적으로 redis, mq 등의 인프라를 나타냄)을 균일하게 브러싱하며, 특별히 환경을 브러싱할 수 있습니다. 관련 구성 파일(예: /etc/google/env.yaml), 이 파일에 현재 머신이 속한 환경(alpah, beta, prod 등)을 지정한 다음 필드를 넣을 수 있습니다.
으아악그런 다음 django 프로젝트의 모듈을 구성하여 머신 환경 구성 파일을 읽습니다.
이 방법은 지루해 보일 수도 있지만 실제로는 환경 관리에 매우 효과적입니다.