2009-12-01 54 views
3

我开始我的第一个Web应用程序,我不确定通常情况下是如何完成的。我正在使用Django和Apache:如何组织一个webapp?

  1. 如何管理源代码管理存储库?你检查一个单独的文件夹,然后有一个构建脚本来复制文件吗?究竟应该将什么添加到存储库?换句话说,你如何确保你不提交自动生成的文件? (有时很难说什么是自动生成的以及我还没弄清楚什么:)

  2. 我该如何首先部署到私人开发页面,然后在准备好时部署到主页面?我可以设置两台服务器吗?如果是这样,怎么样?

我知道这些都是有点新手问题,但我似乎无法找到一个很好的教程,真正解释了这些根本问题。

回答

3

我将有一个开发副本,它将从我的存储库中结帐。在现场网站上,我将输出标签版本的输出(而不是签出),我将命名这些输出所在的目录,例如标签名称为“project-v1.4.5”。然后我会有一个符号链接指向当前活动的标签。如果您在使用新标签后发现问题,这可以让您更轻松地返回到旧版本。

如果您使用的是SVN,我建议您阅读(​​)SVN书籍有关基本概念和标签的章节(在分支和合并章节中)。

SVN可以让你忽略你不想犯http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.ignore.html

+0

很好的答案。我一直在想,为什么人们在使用导出服务器而不是在现场服务器上使用结账服务器时很挑剔。它是PHP等人的一个保留,其中web应用程序代码位于一个实时webroot中?否则我真的不明白为什么它很重要(我使用checkout没有任何问题,FWIW)。 – 2009-12-01 22:18:57

+1

使用导出而不是结帐的一个原因是它不鼓励在实况网站上进行编辑,这通常是A-Bad-Thing TM。另一个原因是,如果你正在备份你希望你的live站点,那么.svn目录占用我目前正在使用的891MB结帐的379MB。 – 2009-12-02 09:48:41

0

用git文件,你可以建立一个私有分支,并已选定的文件坚持那支只(例如 - 保持本地CONFIGS和模板)。我以前有asked a similar question。使用此设置更新您的应用程序并将更改推送到公共分支是微不足道的。