我是Git的新手。我需要设置Git将Django网站部署到生产服务器。我的问题是要知道这样做的最佳方法是什么。
到现在为止我只有一个Master分支。我的问题是开发环境不等于生产环境。我怎样才能在Git中拥有这两个环境(开发和生产)?我应该使用两个新的分支(开发和生产)。请给我一个线索。
其他问题......当我完成上传/推送代码到生产服务器时,我需要重新启动Gunicorn(服务Django网站)。我怎么能这样做?
最重要的问题......我应该使用Git来做这个还是我有更好的选择?
最诚挚的问候,
答案 0 :(得分:2)
您必须解决的第一个问题是您的项目结构。通常,开发和生产环境之间的区别是setting.py和url.py.那你为什么要先分开呢? :)例如,您可以使用一个主要settings.py来定义所有默认设置。然后在文件的末尾,您只需导入settings_dev.py和settting_prod.py作为示例:
try:
from settings_prod import *
except ImportError:
pass
try:
from settings_dev import *
except ImportError:
pass
然后,您只需重载所需的所有设置,并拥有项目的自定义设置(例如已安装的应用程序)。您可以将相同的逻辑用于urls.py文件。
然后您可以简单地忽略将* _dev文件添加到repo,在服务器端,您只需从repo签出代码并重新启动http服务器。为了现在自动化,我无法提供正确的应用程序名称。有时简单的python脚本可以解决方案如下:观察文件日期时间是否更改,如果是,只需运行http命令的重启命令。
希望有所帮助。
Ignas
答案 1 :(得分:0)
您可以按照此浏览模型进行操作 - http://nvie.com/posts/a-successful-git-branching-model/
并且,git没问题,但使用Fabric进行部署。