ASP.NET生产网站是SVN工作副本

时间:2013-01-04 14:51:29

标签: asp.net svn

拥有一个生产(实时)asp.net网站也是一个好习惯,这个网站也是推动更新的工作副本吗?

3 个答案:

答案 0 :(得分:4)

通常,这被认为是不好的做法,主要是因为源控件存储库包含,而生产应用程序包含结果。由于多种原因,这两者是分开的:

  • 安全。如果您的源位于生产服务器上,则可能会被查看。也许这是一个问题,也许不是。安全的方法是在生产服务器上没有源。
  • 性能。构建源的结果可以以源本身通常不具有的方式针对性能进行优化。例如,在.NET应用程序中,生产部署不包含调试符号。这可能不是您特定应用中的问题,但需要考虑这一点。
  • 多个结果。您的源是实际应用程序,还是用于构建应用程序的信息?可以构建多个版本吗?例如,在.NET Web应用程序中,您可能会进行Web.config转换。这些在部署时用于调整构建源的结果。如果源本身被用作实时应用程序,则无法使用这些部署时修改。

其他人可能能够比我更好地表达这一点,但总的来说它被认为是不好的做法,是的。您的特定申请可能是任何特定原因的例外,或者可能没有任何特定原因的影响,因此我强调“一般”部分。

答案 1 :(得分:1)

根据项目的布局,可能存在一些安全问题。例如,如果您的.txt文件包含一些敏感信息,请记住它可以在您的网站中访问。

ASP.NET中不会提供App_Code中的任何内容或任何.cs,.vb,.config等文件,因此您可以放置​​不希望有人看到的内容。

此外,对于初始加载性能,您应该通过VS Publish命令或Web部署项目插件预编译您的站点(假设您正在使用网站项目)。您可以为预编译的可部署代码创建一个svn分支,并在您的服务器上使用该分支。

答案 2 :(得分:0)

您可以使用http://springloops.iohttp://deployhq.com等服务仅将某些文件夹推送到服务器。这使您在推动代码部署方面具有很大的灵活性。