我正在迁移一系列以前基本上没有版本控制管理的网站(VSS插入开发服务器,但是从开发人员的POV基本上是不存在的)到TFS, WebDeploy安装在Windows Server 2012计算机上进行部署。
我的问题来自我们拥有超大资源库的几个网站,我们每个人都在谈论20-30GB的PDF,PowerPoints和视频。
在过去的设置中,这些资源基本上只存在于服务器上。网站开发人员将获得一组新文档,将它们打包并通过FPSE发送到服务器,然后删除其本地工作副本以释放空间。
使用TFS我刚刚制作了网站当前状态的副本,加载到解决方案中并将其全部放入TFS中。由于多种原因,结果很笨拙:
我考虑过将跳过规则添加到部署设置中,以便只处理添加和更新,然后让开发人员在发布后删除文档,这样可以正常工作,但它只留下了部分版本的版本控制该网站的真实内容。
有没有办法配置这些目录,以便需要在本地显式复制,即当用户从TFS打开解决方案时,他们不会被复制,但如果我们需要进行干净部署,它们就可用了该网站到一个全新的服务器?这与跳过规则相结合将是一个解决方案,但我不知道是否/如何可能。
另外一个警告,这些网站不是网络应用程序项目,似乎总是让事情变得更加困难......
有什么想法吗?
答案 0 :(得分:0)
问题是您在应用程序代码旁边存储了非必要的二进制文件。
由于以下原因,这是一个很大的问题:
将两件事分开。将内容存储在其他地方。 "其他地方"根据很多因素,它在空中。对于初学者,您只需将其迁移到应用程序代码文件夹之外的单独文件夹即可。不关心内容的开发人员可以隐藏文件夹。也就是说,源代码控制对于静态二进制内容来说是一个非常糟糕的地方。
这样的事情:
$/
Dev
Application
Code
Content
Main
etc
开发人员可以映射$ / Dev /,并隐藏$ / Dev / Application / Content。 如果你这样做,部署会变得有点棘手,因为你有一个额外的步骤 - 部署代码和部署内容成为单独的任务。我们的想法是组合/ Code和/ Content文件夹。
这为您提供了极大的灵活性,因为您可以更快地部署应用程序的代码。您还可以采取措施自动化内容部署,以便更快地推送内容更改,而无需担心在部署新代码时内容推送会导致您的网站停机。