TFS 2010: Rename a server – Part 2: the database server

TFS 2010: Rename a server - Part 2: the database server

Posts in this series:


In this first post we will see what to do to rename the database server db.demo.local to db1.demo.local and make our services work again :)

read more →

TFS 2010: Rename a server – Part 1: introduction

TFS 2010: Rename a server - Part 1: introduction

Posts in this series:


During my work i had an interesting “challenge”: rename a server on which was installed TFS and all the needed components (WSS, SQL, RS, AS, Build). There are some documentation on how to rename each component but they are squattered in each product documentation so i decided to write a series of post specifying how to rename each component/server used by TFS.

read more →

TeamBuild 2010: Customized expandable parameters

TeamBuild 2010: Customized expandable parameters

Here’s a small post on how to add customized expandable parameters to a build workflow. What i mean by expandable parameters is parameters with a small + sign so that you can expand the parameter to fill its properties, the main line containing a summary of the values:

image

read more →

TeamBuild 2010: UpdateAssemblyInfo activity sample

TeamBuild 2010: UpdateAssemblyInfo activity sample

As promized her is a sample of how i’m using the UpdateAssemblyInfo activity i’ve published on codeplex.

First let’s describe what we want:

  1. Increment the build number of my AssemblyFileVersion automatically for all the projects in a solution when doing a build. The major and minor versions of the AssemblyVersion and AssemblyFileVersion must not change and the revision number must be 0.
  2. Don’t modify the solution sources in TFS and let the developers do what they want.
  3. The BuildNumber of my build must contains the AssemblyFileVersion so that my build name, label and drop location are easily identifiable.
  4. Don’t modify the version numbers when doing a gated checkin or a private build.
  5. Be able to launch a build and specify to skip versionning.

Before updating our build template i’ll start by configuring my solution to make easier the versionning of all the projects. Let’s add a GlobalAssemblyInfo.cs (or .vb if you use VB.Net) file to the solution as a solution item:

read more →

VS 2010 : Custom graph dependency analyzer

VS 2010 : Custom graph dependency analyzer

After showing you how to customize IntelliTrace, i’ll show you today how you can create your own graph dependency analyzers for VisualStudio 2010 architecture tools.

Before starting here is another warning (still in bold and red so everyone sees it :) ):

Microsoft does not give any documentation or support on all that i will explain because even it’s possible, the functionality is not supported.

Now that you are warned lets start implementing a small analyzer which will show us all nodes starting with “Qetza.”.

First we create a class library and add the following assembly references:

  • Microsoft.VisualStudio.Progression.Common
  • Microsoft.VisualStudio.Progression.GraphModel
  • Microsoft.VisualStudio.Progression.Interfaces

These assemblies are in the sub directory “Common7\IDE\PrivateAssemblies” of your VisualStudio 2010 install directory (by default “C:\Program Files\Microsoft Visual Studio 10.0″).

read more →

TeamBuild 2010 : Workflow Foundation 4.0 activities

TeamBuild 2010 : Workflow Foundation 4.0 activities

This post is part of a series on TeamBuild 2010:

It’s time i get back to my presentation of TeamBuild 2010 new features :)

Since TeamBuild is now based on Workflow Foundation 4.0 Microsoft has provided some activities specifically for TeamBuild. Those activities are like the Task in TeamBuild 2008 :

read more →

VS 2010 : Customize IntelliTrace events

VS 2010 : Customize IntelliTrace events

Today i’ll show you how to customize IntelliTrace in VisualStudio 2010 so that you can trace events from your own methods. But first some warnings (in bold and red so no one misses them :) ):

Microsoft does not give any documentation or support on all that i will explain. There is also a chance that the way you can  customize IntelliTrace will be revamp in the next version of VisualStudio (which might explain the lack of documentation and support).

Now that you’re warned let start and see how we can customize IntellTrace so that we can trace our own method calls! I’ll be using the following class for this post:

read more →

TeamBuild 2010 : Gated Check-in and Private Build

TeamBuild 2010 : Gated Check-in and Private Build

This post is part of a series on TeamBuild 2010:


What is a “Gated Check-in”? It’s a new type of build which is launched automatically every time a developer makes a check-in. But unlike continuous integration, a “Gated Check-in” will reject the check-in if the build is on error.

Technically, the “Gated Check-in” uses shelvesets. When a developer makes a check-i, Visual Studio will prompt him with a new dialog asking to shelve it’s modifications:

read more →

TeamBuild 2010: Build definitions new features

TeamBuild 2010: Build definitions new features

As I explained in my previous post, the build engine in TFS 2010 is now based on Workflow Foundation 4.0. I’ve decided to start a series on the new features of TeamBuild 2010 and will start by the creation of a new build.

In TeamBuild 2010 the build definitions has been enhanced and has new options to integrate with the new build engine. The creation of a build definition is in 6 steps:

  1. Build information.
  2. Triggers.
  3. Workspace.
  4. Default build parameters.
  5. Workflow parameters.
  6. Retention policy.

The information screen hasn’t change and still ask for the build name and it’s description:

read more →

TeamBuild 2010 : Architecture overview

TeamBuild 2010 : Architecture overview

In TFS 2010 TeamBuild was rewrote. The engine is now based on Workflow Foundation 4.0 and the architecture is now distributed. In this post I’ll present the new architecture.

TeamBuild 2010 is composed of two components linked to the Team Project Collections:

image14.png

The BuildController is link to a single collection (a collection can have multiple BuildControllers) and does all the work which doesn’t invoke heavy processor and disk usage:

read more →