MSI
MSI

Reputation: 1134

Team Foundation Server: Multiple build controllers best practices

Being a teamcity person for 4 years I am finding my migration to TFS a bit daunting. Its a bit hard to fathom the idea of build controllers being tied to project collections. I was wondering what's the best practices are around spawning new build controllers (same machine hack or separate vm instances / servers) or more of how people are doing it as general practice.

Thanks in advance.

EDIT:

n number of Project Collections

Yes Continuous integration atm for one project collection with Teamcity like build chaining (custom activity) to do build and deploy.

The default build controller is attached to a single collection at the moment. I was looking at creating n - 1 controllers for the rest of the collections.

Thanks in advance and if I can better clarify my situation then please do let me know!

Upvotes: 0

Views: 521

Answers (1)

Giulio Vian
Giulio Vian

Reputation: 8353

Some considerations:

  • you cannot use the same Controller in more than one Collection, that is you must have a separate Controller for each Collection
  • You cannot have two Controllers on the same machine, which means that you need at least a Build Server for each collection
  • CI is easy, but Gated checkins are serialized by design, so I suggest to study how they works
  • TeamCity build chain pattern do not map well with TFS build model, study how to manage multiple Configurations and the Lab template (aka Build-Deploy-Test) for some working TFS patterns
  • You can have multiple agents for a single controller, on the same or on another machine. Each agent is independent, consider this into your design

Study the ALM Rangers' Build Customization Guidance. Lot of guidance and bases covered.

UPDATE:

These suggestions applies to "legacy XAML build", from TFS 2015 on there is a new kind of build that overcomes the limitations.

Upvotes: 1

Related Questions