Configure the TFS VM:

In our setup, we will configure TFS server, the build controller, build agent to do the build process, test controller which will manage test execution and also as the dev box where we will write the code. This can be a VM in the same host if you can spare 2GB of RAM on the host.

  1. SCVMM admin console
  2. TFS
  3. Build Controller
  4. Test Controller
  5. VS

Install SCVMM Admin Console:

Start the SCVMM install on the TFS server, and select the administrator console option. Select the default set of steps, and let it complete. The lab management service that will run on TFS needs the SDK installed by the admin console to communicate to the TFS server.

scvmm_3

Install Team Foundation Server:

In my configuration, I am setting up TFS, the build controller, test controller and Visual Studio all in the same box (a 64bit Win28R2 VM with 2GB RAM).

After launching TFS install, select both TFS server and the build controller to install

TFS 1st_2

On the configuration screen, select Basic

TFSConfig_thumb1

Let TFS install complete with the default selections.

Once the TFS configuration is complete, next step is to configure the build service. Launch the “Build Service Configuration Wizard” and associate it with the DefaultCollection created by the TFS install.

image

Use the default settings for the rest and go ahead with the configuration.

Install and configure Test Controller:

Launch the Team agents setup (the agents iso file – in your another DVD drive), and select “Install Visual Studio Team Test Controller 2010”.

TestController_2

Select defaults and let the install complete. Register the test controller against the project collection that was created.

image

Configure Lab at the Application Tier:

Launch the TFS Administration Console and start configuring Lab Management.

config lm_2

Click on Test

image_thumb1

Provide the admin credential for the SCVMM host. This will ensure that TFS can ask SCVMM to do operations like “Create VM” and such. Press OK to finish the configuration of lab in the Application Tier. So for most of the installation sequence, the only input that is needed is the SCVMM name. The defaults for the other two tabs are good for 90%+ of the scenarios.

Configure Lab for Project Collection:

Continuing in the TFS admin console, select the lab management tab in the default collection.

image_thumb3

Select Configure Library shares – this allows individual project collections to have their specific library shares and host groups. For our purposes, we just work with all the resources we have.

image_thumb8

image_thumb7

this experience will ask for credentials which are administrator on all the hosts.

image_thumb22

Provide an administrator credential that works on all the hosts (1 in my case, but can be n), and press OK. This information is used to configure TFS account as administrator on all the hosts. This enables the TFS service to be able to communicate with the VMs in each of the host.

And finally, the Service Account tab. This is new for RC. The service account is a credential that the lab service pushes to all the VMs. From inside the virtual machine when

  • The test agent talks to the test controller
  • The build agent talks to TFS
  • The end to end deployment workflow (that we will talk about in part 4) accesses the build drop location

the processes uses this credential to communicate to the server. Having this enables us to work across system under tests which have different trust relationship with the TFS server.

image_thumb10

Note that I have used a different account. This is a service account, and is not a highly privileged account. Part of selecting this account will provide it the minimal TFS privileges needed to work in the lab setting.

This completes the lab configuration at the Project Collection level.

Install VS2010

Install VS2010 ultimate with the default configuration.

In the next blog post, we will create the system under test and start actually seeing lab in action.