我看到这里和那里的暗示,直接在DVCS克隆上运行实时部署是不好的,并且最好导出干净的树或tarball并进行部署。在我看来,直接从DVCS克隆运行有几个优点:
我真的看不出任何缺点。 repo文件的存在(在我的例子中,单个.hg /目录)不会导致任何问题。
是否真的有理由不在DVCS克隆上运行实时部署?
答案 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文件不允许访问此目录。