Git - 如何将代码从我的中央Git repo部署到我的生产服务器?

时间:2011-12-02 08:59:26

标签: django git deployment

我是Git的新手。我需要设置Git将Django网站部署到生产服务器。我的问题是要知道这样做的最佳方法是什么。

到现在为止我只有一个Master分支。我的问题是开发环境不等于生产环境。我怎样才能在Git中拥有这两个环境(开发和生产)?我应该使用两个新的分支(开发和生产)。请给我一个线索。

其他问题......当我完成上传/推送代码到生产服务器时,我需要重新启动Gunicorn(服务Django网站)。我怎么能这样做?

最重要的问题......我应该使用Git来做这个还是我有更好的选择?

最诚挚的问候,

2 个答案:

答案 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进行部署。