我是版本控制的坚定支持者,并且正在着手开发一个Django项目。我以前做了一些,也尝试了一些不同的方法,但我还没有找到一个真正让我感到舒服的像样的结构。
这是我想要的:
a)签入版本控制的源代码
b)最好不要将环境签入到版本控制中(例如buildout或pip requirements.txt可以很好地设置环境)
c)一个合理的“让一个新的开发人员上手”的故事
d)合理的部署案例--最好整个部署环境可以由服务器上的脚本生成
在我看来,以前肯定有人这样做过,但长时间的搜索都导致了半生不熟的解决方案,并没有真正解决所有这些问题。
有没有什么建议我应该看哪里?
发布于 2010-11-07 05:00:31
查看fabric来管理部署。
这是我用fabric来管理服务器/部署的工具:louis (它只是fabric命令的集合)。我为每个项目都保存了一个louisconf.py文件。
我推荐使用分布式VCS (git,hg,...)而不是svn。原因是分支的简单性允许部署多个方案。例如,您可以拥有production和staging分支。然后,您按照约定强制只合并到生产环境中。
至于让开发人员快速入门,您可以使用pip和requirements.txt。我认为这也意味着你正在使用virtualenv,但如果不是,那就是第三部分。我建议您准备一个基本的README。让每个加入项目的开发人员的第一个任务是更新README。
让某人加入的粗略方法是让她签出代码,创建一个virtualenv,然后安装需求。
我建议有一个与sqlite3一起工作的settings.py文件,这样新的开发人员就可以使用它来快速地进行(即在安装了需求之后)。但是,如何管理不同的设置文件取决于您的项目布局。不过,应该有一些默认设置供新开发人员使用。
https://stackoverflow.com/questions/4114942
复制相似问题