paul_h
paul_h

Reputation: 2051

Build Pipelines in TFS

In 2009, there was a SO question on the same topic.

I'm wondering if later versions of Team Foundation Server are better at longer build pipelines. Refer features of Jenkins, TeamCity, ThoughtWorks' Go (my employer).

The visualizations of the build pipelines are important to me, as well as the notification about individual stages passing or failing. That and the eminent clone-ability of say a 'trunk' pipeline into one for a release branch as that branch leaps into being.

Secondly, a personal holy-grail is the CI server storing its config in the SCM that's holding the buildable thing itself, and even picking up on the creation of branches silently to provision new pipelines; Can TFS be configured to store the CI definitions/scripts in its SCM side rather than its accompanying SqlServer?

Upvotes: 2

Views: 2221

Answers (2)

Sleeper Smith
Sleeper Smith

Reputation: 3242

Bit late to the party, but just don't bother with TFS if you want advanced build pipeline automation. It simply doesn't cut it.

I have used Jenkins and TFS both extensively. Tfs is just. pure. crap. Here's why.

No down/up stream build. No piepline/orchestraion build. (like jenkins) Obscure ways of adding build steps and falls back to using MsBuild. Slow and still polls the source control. Ties you to MsTest.

And please don't point me to "Oh look you can do everything if you write a custom activity". I'm not wasting time doing development for a closed source, sub-par platform. If I am going to contribute something, it's to a FREE. OPEN SOURCE platform.

Upvotes: 0

KMoraz
KMoraz

Reputation: 14164

TFS build consists of three components:

  1. The build definition - stored on the SQL server data tier.
  2. The build workflow - a XAML file stored in the source control.
  3. The supporting MSBuild scripts - usually contains user defined actions, also stored in the source control.

As the build progresses, you can see visualization of the build steps and you also get a different log for the main build and the MSBuild output.

The build definition in TFS is merely a collection of build settings, similar to CC.Net's config file and TeamCity's build configuration tab which both stored on the file system as well. Assuming there's a backup plan on the database you don't really need to store the build defintions on the source control, but if you must it's possible by exporting the tbl_BuildDefinition table.

The TFS Power Tools adds cloning functionality for build definitions.

There's no OOTB support for provisioning build definitions from a new branch though it's fairly feasible using the TFS-API.

Upvotes: 3

Related Questions