cari

Rumah  >  Soal Jawab  >  teks badan

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 hari yang lalu462

membalas semua(3)saya akan balas

  • 阿神

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

    settings
        --__init__.py
        --common.py
        --dev.py
        --uat.py
        --pro.py
         
    common.py里面配置通用部分
    dev.py、uat.py、pro.py里面配置开发、测试、生产环境不同的配置
    __init__.py里面
    from common import *
    #from dev import *
    #from uat import *
    #from pro import *

    balas
    0
  • 巴扎黑

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

    Saya menggunakan kaedah pertama

    balas
    0
  • 阿神

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

    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:

    env: alpha/beta/prod

    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.

    balas
    0
  • Batalbalas