我正在尝试为5位开发人员计划一种方法,使用Visual Studio 2005/2008在开发Web服务器上针对Oracle 8i(即将是10g)数据库协作开发ASP.NET Web应用程序。
开发人员要么在本地网络上,要么通过vpn进入(不是非常快速的连接),
我评估了最新的Visual SourceSafe,但遇到了以下问题:
1)我们不能使用分散式开发,因为我们无法将开发oracle数据库复制到所有开发人员计算机。此外,vpn太慢,无法让其本地应用程序实例连接到数据库服务器。
2)由于VSS源代码不在文件系统上,因此调试它的唯一方法是构建应用程序并运行调试器,只有一个开发人员可以在集中式开发服务器上一次执行。这是无法接受的。我们尝试使用影子文件夹,以便每次检入文件时都会将其发布到开发服务器上的应用程序实例,但这对于vpn上的远程开发人员来说是失败的。
3)由于开发人员执行了大量的Web代码,因此出于生产率的原因,在保存文件时,他们应该能够立即看到开发服务器上的更改。
4)没有简单的方法来实现将文件推送到生产服务器的受控过程。
有关源控制解决方案的任何建议可以在这些约束下工作吗?
更新:我想由于开发被强制放在服务器上,我们需要使用“锁定并检入”模式。那么哪种源控制解决方案最适合“锁定和签入”场景?
更新: Visual SVN是否支持针对开发服务器集中开发?如在,保存在VS后,开发人员可以立即在开发服务器上看到他的更新?
答案 0 :(得分:4)
我使用了Subversion和TortoiseSVN,非常高兴。
答案 1 :(得分:3)
由于数据库架构(或数据)存在问题,第1点是什么?
- 我们不能使用分散式开发,因为我们无法将开发oracle数据库复制到所有开发人员计算机。
醇>
如果没有,我强烈建议每个开发人员都有自己的环境(Visual Studio,Oracle ......),并使用开发服务器进行集成。也许你可以给他们一些数据,或者只是模式脚本。
如果您已经设想过这些解决方案并发现它们不适合您的情况,我很抱歉,但我真的觉得要表达它们的冲动以防万一......
答案 2 :(得分:2)
Visual Source Safe是撒旦的产物。
查看Subversion和Visual SVN(使用Tortise SVN)。当然,Visual SVN的成本有点 - 每个座位49美元 - 但它是一个很棒的工具。我们有一个由6名程序员组成的开发团队,这对我们来说是一个很大的好处。
答案 3 :(得分:1)
如果您可以花钱,那么Team Foundation Server是最适合Visual Studio开发环境的那个。
根据个人经验,它在VPN连接上运行良好。当然,你可以自动构建它。
答案 4 :(得分:0)
我会说价格(免费)的SVN,Perforce易于整合。
毫无疑问,您也会听到GIT和CVS,并且有充分的理由去了解它们。
答案 5 :(得分:0)
有趣 - 听起来您正在处理服务器上的网站项目,并且每个人都在处理相同的物理文件。我同意SVN远远优于VSS并且非常适合使用,但根据我的经验,它非常适合在本地编写代码副本的开发人员。
VSS是一种“锁定和检入”类型的源代码控制,而SVN和TFS以及其他大多数代码都是“编辑和合并” - 开发人员都获取源代码的副本,根据需要编辑文件,然后合并他们的更改为源代码管理,如果其他人在此期间编辑了文件,他们会将更改合并在一起。
从数据库的角度来看,我假设您正在检查数据库脚本,然后进行一些自动构建打包并运行它们(或者可能只是一个dev或DBA每隔一段时间手动运行它们)。在这种情况下,让开发人员拥有可以使用SVN或TFS编辑和合并的脚本的本地副本是有道理的。
对于在开发服务器上处理源代码共享副本的团队,您可能会遇到使用编辑和合并的问题 - 源代码管理的“锁定和签入”模型可能更适合您。从腐败和稳定的角度来看,不是VSS。