Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I organize many projects on Team Foundation Services (TFS in the cloud)

Tags:

cloud

tfs

How do I organize many projects on Team Foundation Services (TFS in the cloud).

I have about 300 solutions (with multiple projects in each solution) that I want to source control in TFS. The problem is how do I organize them?

A little background: I am an contract developer so I work for many clients and have many projects written in VB and C# ranging from VB6 to .net 4.5 and everything in between.

like image 227
GaryH Avatar asked Apr 16 '13 11:04

GaryH


1 Answers

I think the key is to understand the organisational structure on offer to you with Team Foundation Service. How you choose to organise it is ultimately up to you.

You have the following available to you in Team Foundation Service.

  1. One Project Collection
    • In normal TFS you can have many Project Collections. In Team Foundation Service (at the time of writing), you can only have 1.
  2. Team Projects
    • These are the projects that go into the Project colection.
    • You can put many solutions into one Team Project or you can simply have one.
  3. Source Control Folders
    • Each project obviously contains Source Control folders, so these could be further split up into projects.

I don't have as many projects as you, but I do something like this:

  1. Create dedicated Team Projects for major projects (solutions)
  2. Put similar minor projects (solutions) into one Team Project
  3. You can even nest things further. I have included a real world scenario I use for the SSRS report we write.

See below for an example how I do it:

  • Collection (Project Collection)
    • Major Project 1 (Team Project)
      • trunk
      • branches
        • branch 1
    • Group Of Minor Projects (Team Project)
      • Minor Project 1
        • trunk
        • branches
      • Minor Project 2
        • trunk
        • branches
      • Minor Project 3
        • trunk
        • branches
    • Major Project 2 (Team Project)
      • trunk
      • branches
        • branch 1
    • Group of SSRS Projects (Team Project)
      • 2005
        • Clients
          • Client1
            • trunk (Optional)
            • branches (Optional)
          • Client2
          • Client3 Shared (All Clients)
      • 2008
        • Clients
          • Client1
          • Client2
          • Client3 Shared (All Clients)
      • 2008 R2
        • Clients
          • Client1
          • Client2
          • Client3 Shared (All Clients)

One point to remember is that builds are separated by Team Project. So this might impact your decision further.

like image 138
gregpakes Avatar answered Oct 16 '22 21:10

gregpakes