目前想到两种方式管理配置文件:
1.写两个product_settings.py, development_setting.py, 然后写个build脚本,根据
jenkins 设置构建环境,不同的环境将不同的配置文件软连接或者cp成settings.py
2.线上环境用的是supervisor+gunicorn+nginx+django,gunicorn启东时,可以设置变量,
设置一个DJANGO_RUN_ENV变量,然后在settings.py中通过判断变量的值,更新不同的配置,
但是有一个默认的配置就是线上的。
不知道哪种方式更加合适一些,请大神分享下自己的配置文件管理方式,万分感谢。
雷雷
我是使用的第一種方式
一般Python專案的alpha、beta或生產的機器會統一刷python專案運作所需的環境(一般指的是基礎設施:例如redis、mq等),可以專門刷一份環境相關的設定檔(例如: /etc/google/env.yaml), 在這個檔案中指定目前機器所屬的環境(alpah、beta、prod等),然後可以放一個欄位:
然後你的django專案設定個模組用於讀取機器環境設定檔。
這個方法看似囉嗦,但是其實對於環境的管理真的很好使,我們就是這麼搞得。