【问题标题】:How do I organize many projects on Team Foundation Services (TFS in the cloud)如何在 Team Foundation Services(云中的 TFS)上组织多个项目
【发布时间】:2016-09-17 08:00:52
【问题描述】:

如何在 Team Foundation Services(云中的 TFS)上组织多个项目。

我有大约 300 个解决方案(每个解决方案中有多个项目),我想在 TFS 中进行源代码控制。问题是我如何组织它们?

一点背景知识:我是一名合同开发人员,因此我为许多客户工作,并且有许多用 VB 和 C# 编写的项目,范围从 VB6 到 .net 4.5 以及介于两者之间的所有内容。

【问题讨论】:

    标签: tfs cloud


    【解决方案1】:

    我认为关键是要了解Team Foundation Service 提供给您的组织结构。您选择如何组织它最终取决于您。

    您可以在Team Foundation Service 中找到以下内容。

    1. 一个项目集合
      • 在正常的 TFS 中,您可以拥有多个项目集合。在Team Foundation Service(撰写本文时)中,您只能拥有 1 个。
    2. 团队项目
      • 这些是进入项目集合的项目。
      • 您可以将多个解决方案整合到一个 Team Project 中,也可以只拥有一个。
    3. 源代码管理文件夹
      • 每个项目显然都包含源代码管理文件夹,因此可以将这些文件夹进一步拆分为项目。

    我没有你那么多项目,但我会做这样的事情:

    1. 为重大项目(解决方案)创建专用Team Projects
    2. 将类似的小项目(解决方案)合二为一Team Project
    3. 您甚至可以进一步嵌套。我在我们编写的 SSRS 报告中包含了一个真实场景。

    请参阅下面的示例,了解我是如何做到的:

    • 集合(项目集合)
      • 主要项目 1 (团队项目)
        • 主干
        • 分支机构
          • 分支 1
      • 小型项目组 (团队项目)
        • 小项目 1
          • 主干
          • 分支机构
        • 小项目 2
          • 主干
          • 分支机构
        • 小项目 3
          • 主干
          • 分支机构
      • 重大项目 2 (团队项目)
        • 主干
        • 分支机构
          • 分支 1
      • SSRS 项目组 (团队项目)
        • 2005
          • 客户
            • 客户端1
              • 主干(可选)
              • 分支(可选)
            • 客户端2
            • 客户端3 共享(所有客户)
        • 2008
          • 客户
            • 客户端1
            • 客户端2
            • 客户端3 共享(所有客户)
        • 2008 R2
          • 客户
            • 客户端1
            • 客户端2
            • 客户端3 共享(所有客户)

    要记住的一点是构建由Team Project 分隔。因此,这可能会进一步影响您的决定。

    【讨论】:

    • 很好地解释了我的选择。我可以在文件夹下创建文件夹吗?因此,在我的情况下,我可能会按客户创建一个文件夹,然后为用于创建它的 IDE 创建一个文件夹(VB6、VS2003、VS2005 ...VS2012)和一个解决方案文件夹,然后将项目添加到其中?跨度>
    • 是的 - 这是我的用例之一。我将编辑上面的帖子以包含它。
    • 那么我如何存储一个由其他项目共享的公共实用程序项目?
    • 就我个人而言,我喜欢将它们分开并使用私有 NuGet 存储库来存储编译后的版本。如果您对此不感兴趣,那么您可以进行跨文件夹和团队项目引用。归根结底,它只是您驱动器上的文件。如果您想开始使用 Team Build,它会变得更加复杂。如果是这样,那么您将希望在同一个团队项目中拥有共享项目,以便构建服务器可以访问它。但是 IMO,NuGet 路线要好得多!
    • 好主意。在大约 90 分钟内,我能够创建自己的存储库。如果其他人有兴趣,这是一个 2 步过程(步骤 #1 是可选的):1)设置我自己的 Nuget 服务器 ...link 2)创建一些 Nuget 包,其中仅包含我使用的常见 DLLS很多项目,然后将它们上传到我的 nuget 服务器...link(您可以使用命令行,但我发现 GUI 更容易创建和部署)
    【解决方案2】:

    由于您要为不同的客户创建不同的项目,我会按客户组织您的解决方案。

    每个客户我总共有一个项目集合和一个团队项目。然后在每个团队项目中,您可以按照自己喜欢的方式构建解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-26
      相关资源
      最近更新 更多