从DVCS克隆运行实时站点有什么问题?

时间:2009-12-26 22:46:28

标签: deployment dvcs

我看到这里和那里的暗示,直接在DVCS克隆上运行实时部署是不好的,并且最好导出干净的树或tarball并进行部署。在我看来,直接从DVCS克隆运行有几个优点:

  1. 无需在每次部署时传输整个代码库。
  2. 将代码更新为任何所需版本的过程非常简单。
  3. 如果部署严重,则很容易回滚到以前的版本。
  4. 我真的看不出任何缺点。 repo文件的存在(在我的例子中,单个.hg /目录)不会导致任何问题。

    是否真的有理由不在DVCS克隆上运行实时部署?

2 个答案:

答案 0 :(得分:2)

这就是我的工作。唯一的“缺点”是您无法真正控制数据库或站点生成的内容(用户上传)。这根本不是一个缺点,因为别无选择。与往常一样,您需要一个备份脚本来复制所有内容。

这不是答案,而是对现代webapp目录布局的解释。一个非常简单的Python webapp可能看起来像这样:

webapp/
  .hg/
  webroot/
  handler.py

使Web服务器仅提供从webroot/,如果路径中不存在,它要求蟒蛇该页面的静态内容(在这种情况下)你会设置它。

由于没有一个服务器端的源代码的是在webroot/,它不能送达(除非你有一个python指令订购它服务于源代码)。这同样适用于.hg/目录。

注意: SVN(小于1.7)和CVS是例外,因为它们喷雾他们的.svn超过目录每子目录。在这种情况下,这将包括webroot/所以,是的,你需要确保你没有服务隐藏文件,但这是一般的情况下无妨。

答案 1 :(得分:1)

嗯,我知道一个。

如果有人可以访问您的.hg目录,他们可能会查看您的源代码。但实际上,服务器或.htaccess文件不允许访问此目录。