TFS - 磁盘结构上嵌套多少

时间:2010-05-27 15:39:11

标签: tfs biztalk directory-structure btdf

我们刚刚安装了TFS并准备好了。我正在尝试决定磁盘结构。假设我有两个名为Common和BookTransfer的BizTalk项目(实际上我有7个)。 [在这个客户端,我们采用了一个名为BizTalk.Artifacts的项目中具有模式,orch,地图的风格]。名为“components”的文件夹是C#代码。我们正在使用名为BizTalk部署框架的CodePlex工具,它在某种程度上决定了结构的一部分。

我正在尝试确定我们应该在磁盘目录上进行多少嵌套(EC是应用程序名称,而Common / BookTransfer或BizTalk Applications分离出来以便于部署/取消部署)。

提案#1:

-EC
  - Main
     - Source
        - Common
           - Company.EC.Common.Biztalk.Artifacts [folder]
           - Company.EC.Common.BizTalk.Components [folder]
           - Company.EC.Common.Biztalk.Deployment  [folder]
           - Company.EC.BookTransfer.BizTalk.sln
        - BookTransfer
           - Company.EC.BookTransfer.BizTalk.Artifacts [folder]
           - Company.EC.BookTransfer.BizTalk.Components [folder]
           - Company.EC.BookTransfer.BizTalk.Components.UnitTest [folder]
           - Company.EC.BookTransfer.BizTalk.Deployment [folder]
           - Company.EC.BookTransfer.BizTalk.sln

提案#2 - 更平坦的方法

-EC
  - Main
     - Source
         - Company.EC.Common.BizTalk.sln
         - Company.EC.BookTransfer.BizTalk.sln
         - Company.EC.Common.Biztalk.Artifacts [folder]
         - Company.EC.Common.BizTalk.Components [folder]
         - Company.EC.Common.Biztalk.Deployment [folder]
         - Company.EC.BookTransfer.BizTalk.Artifacts [folder]
         - Company.EC.BookTransfer.BizTalk.Components [folder]
         - Company.EC.BookTransfer.BizTalk.Components.UnitTest  [folder]
         - Company.EC.BookTransfer.BizTalk.Deployment [folder]

当前结构(可能有太多嵌套文件夹)

- Main
   - Source
     - Company
        - EC
          - Common
            - BizTalk
                -Company.EC.Common.Biztalk.Artifacts [folder]
                -Company.EC.Common.BizTalk.Components [folder]
                -Company.EC.Common.Biztalk.Deployment  [folder]
                -Company.EC.BookTransfer.BizTalk.sln
         - BookTransfer
           - BizTalk
              - Company.EC.BookTransfer.BizTalk.Artifacts [folder]
              - Company.EC.BookTransfer.BizTalk.Components [folder]
              - Company.EC.BookTransfer.BizTalk.Components.UnitTest [folder]
              - Company.EC.BookTransfer.BizTalk.Deployment [folder]
              - Company.EC.BookTransfer.BizTalk.sln

“Main”是在我们分支的情况下,我们将有其他分支具有相同的结构。

1 个答案:

答案 0 :(得分:3)

中度平坦是最好的。看一下你的例子,我要提醒你注意组合的路径/文件名长度。您可以非常快速地达到260个字符的最大路径长度,特别是如果您在单独的构建服务器上构建,因为您还需要考虑该路径的长度。

我们的方法是:

Team Project
   - Main
     - LocalBin
     - Src
        - Subject Area
          - SubjectArea.sln
          - src
             - subjectarea.csproj

我们使用LocalBin作为构建的目标,因为它使我们在企业环境中创建WIX打包项目变得更加容易,并且我们为我们的部署创建了大规模的MSI(例如我们的一个包有400多个DLL)。

在某些情况下,我们确实更深入一两级,但这主要是因为我们从之前的SCM系统(StarTeam)提出的结构。如果我们必须从头开始进行嵌套深度将是一个主要问题。