使用Git部署
问题描述:
目前我有一大堆的git回购了Django的网站我正在寻找部署中,回购的形式是:使用Git部署
sn-static
sn-django
sn-templates
[etc]
然后我有一个超级回购存储各这些作为子模块。在部署方面,我想尝试让事情变得非常简单,这将是一个有效的方法:
- 克隆从超级回购因此&在一个地方各回购稳定克隆一个稳定的标签。
- 由于名称是sn- *,我会查看符号链接以获得更友好的结构,例如
ln -s /path/to/super-repos/sn-static /home/site/media/
- 然后我nginx的Web服务器(在静态内容的情况下,至少)可以简单地指到/ home /网站/媒介
没有技术知识很大我不确定如果将符号链接有任何影响,就速度或稳定性而言。我也想知道,如果我可以摆脱这种部署方式,而不是使用像Capistrano这样的东西(至今我还没有经验)。
答
您应该考虑的一个选项是使用pip
与virtualenv
一起安装包,特别是pip可以从git存储库中选择directly install certain branches or tags。 通过这种方式,您可以使用一个需求文件来处理您的所有依赖项,您自己的软件包和其他人的应用程序。 (请参阅this post的大图。)
为了处理您的静态媒体,我宁愿使用Django的内置staticfiles app而不是几个字符串,因为它看起来更清晰和更易于管理。