最近,我已经开始将我正在进行的django站点从本地部署到服务器。但我一直在手工操作,这是丑陋的,无组织的,容易出错。
我正在寻找一种自动化和简化以下部署任务的方法:
确保所有更改都已提交并推送到远程源存储库(mercurial),并将release.
上的数据库中。
我还有两个问题要问。部署的源应该是本地env还是源存储库?我需要差异化部署还是全员部署?
对于3),我在本地使用South将模型更改应用到数据库中。我在服务器上也这么做吗?如果是,如何同时应用多个迁移?
发布于 2012-02-07 01:35:40
我认为Fabric是事实上的轻量级python部署工具。http://docs.fabfile.org/en/1.3.4/index.html。它非常简单,并将帮助您保持您的部署组织和流线型。它允许简单的scp或rsync。此外,它很容易与django测试集成。
对于较小的项目,我只是将部署的来源作为本地env。我检查了一个干净的副本,然后从那里部署。如果在部署后出现任何错误,最好将其与我的版本控制集成起来,以便快速回滚。
我从未使用过south,但我可以想象您只需编写fab命令来同步生产服务器。如果你用南方的开发,我想不出你为什么不想在生产中使用它?
https://stackoverflow.com/questions/9169272
复制相似问题