<分区>
我知道这不完全是一个 SO 风格的问题,但我认为知道答案会很有启发性。
source djangoproject.com 对于理解 Django 项目的可能布局非常有帮助。但是,缺少setup.py
文件表明该项目未“打包”投入生产。
我对“如何设置 nginx”、“使用哪个数据库”、“如何 <insert detail of hosting>
” 中的任何一个都不感兴趣。我有兴趣了解的内容包括:
- 他们如何部署
djangoproject.com
部分到他们的生产服务器?- 他们只是做了一个
git pull
在他们的盒子上把文件放好?还是 scp/rsync/ftp? - 谁/什么执行此步骤?我猜它是自动的,但它是根据标签触发的吗?或者关闭 .tar.gz 文件放在一个特殊的位置? (鉴于没有标签/发布并且 github 项目中只有一个
master
分支,我猜想将其部署到master
上的任何内容?)
- 他们只是做了一个
- 如果需要,他们如何管理回滚?/它是自动化的吗?(具体细节不需要,但一般信息会很好)
- 我应该打包我的应用程序进行部署吗?
- 我一直更喜欢打包部署(即我打包我的项目,将其放在私有(private) PyPI 中并有一个单独的“部署”项目从中安装),但我开始怀疑是否有必要/a好主意与否。
这里有很多关于在各种情况下部署细节的问题(apache vs nginx,AWS vs heroku vs your own, ansible vs fabric vs...),但我真的想把重点放在关系上打包/项目布局和部署。