目前想到两种方式管理配置文件:
1.写两个product_settings.py, development_setting.py, 然后写个build脚本,根据
jenkins 设置构建环境,不同的环境将不同的配置文件软连接或者cp成settings.py
2.线上环境用的是supervisor+gunicorn+nginx+django,gunicorn启东时,可以设置变量,
设置一个DJANGO_RUN_ENV变量,然后在settings.py中通过判断变量的值,更新不同的配置,
但是有一个默认的配置就是线上的。
不知道哪种方式更加合适一些,请大神分享下自己的配置文件管理方式,万分感谢。
Saya menggunakan kaedah pertama
Secara amnya, mesin alfa, beta atau pengeluaran projek Python akan memberus persekitaran yang diperlukan secara seragam untuk menjalankan projek ular sawa (biasanya merujuk kepada infrastruktur: seperti redis, mq, dsb.), dan anda boleh memberus persekitaran secara khas -fail konfigurasi berkaitan ( Contohnya: /etc/google/env.yaml), nyatakan persekitaran yang dimiliki oleh mesin semasa (alpah, beta, prod, dll.) dalam fail ini, dan kemudian anda boleh meletakkan medan:
Kemudian konfigurasikan modul dalam projek django anda untuk membaca fail konfigurasi persekitaran mesin.
Kaedah ini mungkin kelihatan membosankan, tetapi ia sebenarnya sangat berkesan untuk pengurusan alam sekitar. Beginilah cara kami melakukannya.