【发布时间】:2011-08-08 18:15:20
【问题描述】:
简史:我在一家开发公司工作,我们做很多基于 ASP.NET 的产品。随着我们公司投资组合的增长,我们在开发方面面临着一个棘手的问题。我们有大约 10 个模块出售给客户,我们希望它们在一个 url 下出售。考虑与谷歌服务(搜索/电子邮件/金融/等)的类比。
每个模块都有自己的生命周期和自己的一组更新,这些更新按计划发布,不必与其他模块同步。
所以,我们目前使用的结构是:
- 我们有一个最外层的网站,其中包含所有常用功能(用户/菜单管理/角色/等)
- 这个最外层的外壳(上面提到的)应该有自己的库来支持它的功能。
- 每个单独的模块都被拆分为自己的 Web 应用程序和相应的库
- 现在,当构建发生时,我们编写自定义 msbuild 脚本以将所有模块部署为一个网站。
- 我们还有脚本可以在必要时负责部署各个模块,而不会影响整个系统。
上述设置一直运行良好,直到我发现它的规模问题......即,当我们在系统中有 10 个模块时,每个开发人员都必须将所有 10 个模块下载到他的本地系统。此外,我还没有想出一种方法来控制特定模块的生命周期,同时仍然保持 TFS 结构完整。
我们现在的问题是在 TFS 中组织代码,这将有助于我们完成以下工作:
- 开发人员机器上的占用空间更小(开发人员获取他/她正在开发的模块)而不是所有内容
- 单独部署。单个模块的部署在任何时候都不应影响其他模块(除非它是一个主要版本......并且它应该始终是一个计划的版本)
- 单独的生命周期管理:我必须能够在 TFS 中维护模块的多个版本并相应地工作。
平台:TFS 2010、Visual Studio 2010、C#、jQuery、CSS
【问题讨论】:
-
我记得读过一个类似的问题,但找不到。我认为它在 SO 上,但我也在programmers.stackexchange 中搜索,但没有结果。有人记得吗?
标签: .net asp.net tfs structure organization