TFS - сколько вложений на структуре диска

Мы только что установили TFS и готовы к работе. Я пытаюсь определиться со структурой диска. Предположим, у меня есть два проекта BizTalk, которые называются Common и BookTransfer (на самом деле у меня есть 7). [В этом клиенте мы приняли стиль, состоящий в том, чтобы иметь схемы, схемы и карты в одном проекте под названием BizTalk.Artifacts]. Папка с именем "компоненты" является кодом C#. Мы используем инструмент CodePlex, называемый средой развертывания BizTalk, который в некоторой степени определяет часть структуры.

Я пытаюсь решить, сколько вложений мы должны сделать в каталогах дисков (EC - это имя приложения, а приложения Common/BookTransfer или BizTalk выделены для упрощения развертывания / отмены развертывания).

Предложение № 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

"Основное" - в случае, если мы разветвляемся, у нас будут другие ветви с идентичной структурой.

1 ответ

Умеренно плоский лучше. Глядя на ваши примеры, я должен предупредить вас, чтобы вы были осторожны с общей длиной пути / имени файла. Вы можете очень быстро набрать максимальную длину пути в 260 символов, особенно если вы строите на отдельном сервере сборки, так как вам также необходимо учитывать длину этого пути.

Наш подход был:

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

Мы использовали LocalBin в качестве нашей цели для сборок, поскольку это значительно упростило создание наших проектов пакетов WIX, поскольку мы находимся в корпоративной среде, и мы создаем крупномасштабные MSI для наших развертываний (например, один из наших пакетов имеет 400+ DLL).

В некоторых случаях мы продвигались на один или два уровня глубже, но это было главным образом из-за структуры, которую мы перенесли из нашей предыдущей системы SCM (StarTeam). Если бы нам пришлось делать это с нуля, глубина вложенности была бы главной задачей.

Другие вопросы по тегам