『天道酬勤』


宠辱不惊,看庭前花开花落.去留无意,望天外云卷云舒.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

VS.NET中的Web项目和源代码管理集成方案(5)

Posted on 2007-11-19 20:35  咣咣咣  阅读(146)  评论(0编辑  收藏  举报

半隔离开发

在此模式下,由一个团队成员创建文件共享 Web 项目,然后使用 Visual Studio .NET 集成的源代码管理服务将该项目添加到源代码管理中。其他开发人员从源代码管理打开该项目,并以隔离方式编辑主 Web 项目的工作副本。不过,他们使用远程 Web 服务器的共享资源来运行和调试。与隔离开发模式不同,开发人员将各自的工作副本保存到公共 Web 服务器上。多个开发人员仍然可以同时签出和编辑相同的文件,但是任何时候,都只有一个开发人员能够在 Web 服务器上运行和调试应用程序。

下图显示了在开发源代码管理的文件共享 Web 项目时,开发人员与其工作副本在共享 Web 服务器上的位置之间的关系。



图 4

使用半隔离模式,开发人员可以在远程服务器上创建 Web 项目(例如,http://teamserver/WebApp1_DevA),然后将其添加到源代码管理中。项目开发人员首次从源代码管理打开该项目时,他们使用不同的项目名称将自己的工作副本保存在同一个远程 Web 服务器上的不同位置(例如,http://teamserver/WebApp1_DevB)。与简单的隔离开发模式不同,开发人员不能使用与其他开发人员相同的名称来引用工作副本。

优势

◆硬件成本较低,每个项目只需要一套企业软件许可证。

◆团队可以有一个网络管理员,专门负责共享开发资源的管理。

◆无需访问 http://localhost。无需在每个开发人员的计算机上安装 IIS。

◆支持高级源代码管理功能,例如共享(多重)签出,以及 merge、branch、pin 和 label 等命令。

◆可以与任何 MSSCCI 兼容的源代码管理提供程序一起使用。

缺点

◆当任一用户进行调试时,调试进程将锁定共享的 Web 服务器,从而阻止其他用户使用同一服务器上的项目。

◆Web 引用不能自动共享。

◆所有开发人员都必须具备对相同 LAN 或 VPN 的访问权限。

非隔离开发

在此模式下,开发人员并不是在 Web 项目的工作副本上进行操作,而是所有的团队成员直接进行编辑,并将其更改保存到 FrontPage Web 项目的主控副本。开发人员无法并行工作,也无法轻易与其他开发人员隔离开来。下图说明了两个开发人员如何在非隔离 Web 项目(已在 IIS 中配置为使用外部版本控件)环境中进行交互操作。

图 5

与文件共享项目不同,在 IDE 中,您无法将 FrontPage Web 项目添加到源代码管理,而要在 IIS 中更改其版本控件状态。Built in(内置)和 Use External(使用外部)这两个 IIS 版本控件选项都可以强制执行独占签出,从而在某一时刻只允许由一名开发人员对文件进行写入操作。这两个版本控件选项的区别在于:Built in(内置)在签入时不会将最新的版本发送到源代码管理,而 Use External(使用外部)则会将最新的版本发送到源代码管理。对于 FrontPage Web 项目而言,建议使用 Use External(使用外部)选项。

优势

团队成员不必通过 LAN 或 VPN 进行连接。

缺点

◆不支持多重签出。

◆不能提供与其他模式相同的文件安全保护级别。例如,如果某人在使用 Built in(内置)版本控件时从 Web 服务器上删除了项目文件,则无法从团队成员的开发计算机中恢复该文件。

◆不能使用 FrontPage 访问方法从 Visual Studio 内部将 Web 应用程序添加到源代码管理。

◆不支持高级源代码管理功能,例如共享(多重)签出;或 merge、branch、pin 和 label 等命令。

◆只能与 Visual SourceSafe 源代码管理提供程序配合使用。

◆项目必须保存在 NTFS 分区中。

◆在 FrontPage Web 项目中,无论用户的源代码管理提供程序指定的权限级别如何,只要具有管理员权限,任何用户都可以禁用或启用源代码管理。