【问题标题】:How to organize projects in Team Foundation Server如何在 Team Foundation Server 中组织项目
【发布时间】:2009-10-14 17:42:20
【问题描述】:

寻找有关在 TFS 中设置我们的解决方案的一些反馈。现在我们正在使用源安全,这很痛苦。幸运的是,我们终于要去 TFS 了。我们有一系列项目,我正在寻找设置这些项目的“最佳”方式。

核心是构成我们其他应用程序框架的服务器解决方案和客户端解决方案。服务器有几个 Web 服务和一些库的集合,客户端解决方案有几个库和几个客户端应用程序。客户端与服务器交互。

还有基于此框架构建的单独应用程序解决方案。个别应用程序需要框架解决方案中的几个 DLL。这些 DLL 引用经常被淹没,版本有时会不同步。应用程序 1 依赖于框架客户端项目等中的库 DLL。

您将如何在 TFS 中设置这些解决方案以尽量减少您的问题?您将如何在构建框架解决方案时自动执行其中的一些操作?我正在寻找的结果是简化应用程序 1、2 和 3,从框架客户端和服务器解决方案获取 DLL 文件的更新版本,并且它们在框架和单个应用程序的发布计划中尽可能具有相同的版本。

我的第一个想法是创建一个团队项目,其中包含框架和每个移动应用程序的区域。框架区域将具有客户端和服务器子区域及其子区域。然后在与框架相同的级别上,每个应用程序都将存在。我不确定这将如何工作以及如何强制其他应用程序自动获取最新的框架 DLL。

  • 框架
  • -- 服务器
  • --- 服务器 WS
  • --- 服务器库
  • --- 服务器数据访问
  • -- 客户
  • --- 客户端 WS
  • --- 客户端库
  • --- 客户端数据访问
  • 应用程序 1
  • 应用 2
  • 应用程序 3

编辑 20091020:
在与框架和其中一个应用程序的 PM 交谈之后,这是他对我们应该如何布置源代码的想法。这对我来说是有道理的,而且看起来确实合乎逻辑。似乎它会使每个应用程序的开发分支及其版本保持完全隔离,但它们都在同一个项目中,很容易将应用程序的需求链接回框架中所需的更改等。

对此有何想法?你看到了什么优点/缺点?

框架 。服务器 。树干 .分支机构 . 发布 。客户 。树干 .分支机构 . 发布 应用 1 。树干 .分支机构 . 发布 应用 2 。树干 .分支机构 . 发布 应用 3 。树干 .分支机构 . 发布

【问题讨论】:

    标签: tfs team-project


    【解决方案1】:

    我假设您有一个框架的“发布”稳定版本,所有应用程序都依赖它。我会像这样创建项目结构。

    。发展 。框架 。版本 .应用1 。版本 .应用2 版本 。主要的 。框架 .应用1 .应用2 。释放 .Framework 版本 xxx .Application 1 版本 xxx .Application 2 版本 xxx

    因此,当您从 Source Safe 迁移时,您将在 Team 项目中创建一个 Main 分支。然后分支出所有开发工作的开发分支和一个发布分支来维护当前版本的源代码版本。 (这将帮助您编写修补程序代码或重现当前生产版本中的任何问题)。

    应用程序中对框架的所有引用都应指向最新发布的分支。这可以通过在为单个应用程序创建构建时获取适当的文件夹来管理。

    【讨论】:

    • 框架和其中一个应用程序的 PM 谈到的一件事是让每个人在源代码控制中都有自己的文件夹,并在其下具有分支/主干/发布结构。我会更新这个问题,虽然你的回答是我的第一个想法。我希望能够尽可能使用最新的稳定框架来执行应用程序。
    • 正如我所说,您可以通过将框架程序集保存在框架发布文件夹中来强制应用程序使用最新框架。当您有新版本时,请更改构建定义以从现在最新的版本文件夹中获取程序集。我希望我在这里有意义。
    • 我想我遵循这一点。这确实是有道理的,并且是我认为最好的方式。谢谢!
    【解决方案2】:

    微软有Visual Studio Team Foundation Server Branching and Merging Guide,可用于选择所需的结构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      相关资源
      最近更新 更多