Archive for the ‘ TFS ’ Category

Connecting an Expression Blend Project to Team Foundation Server

I have heard of people wanting and needing to add projects created in Expression Blend to Team Foundation Server.

Here is the recipe:

1) Create your project in Expression Blend … click OK

image

2) Select the option to open your recently created project in Visual Studio.

image

Once that option is selected, your solution will open up in Visual Studio, close Expression Blend at this point.

image

Now, I want to add this project to Source Control …

image

Next, I connect to my TFS environment, and pick the location to save my project

SNAGHTML15aea6

Once the project is added, I will get a status window of pending changes for my project, all that we are left to do is to check in those changes.

image

image

Since we have checked in our project, we can now close Visual Studio, and we will proceed to open Expression Blend again. And select our project we will!

image

We notice some differences from before, just by opening it

image

What differences you say?!?

Notice the lock to the right of the item name …

image

And we also get this when we right click …

image

And there we have it, it is a combination of tools to achieve this, but it is well worth it.

TFS 2010 and SSL Configuration:The sequence list

Now, we have discussed about bringing in a certificate into our web server.  One thing I noticed that was a requirement, is the assignment of a certificate throughout the App Tier and the Build Server.  I understand they are not necessarily cheap, but wildcard certs are a good option here.

On to the list we go:

SharePoint:

Modify the mappings SharePoint has so it points to https, the path to do this is from the Operations section, in Global Configuration, look into Alternate Access Mappings.  The changes you make here in the default zone will need to be consistent with the changes you will make for those web sites (SharePoint Site and also the Central Admin Site) in IIS Manager by modifying the bindings.

Reporting Services:

You will need to make sure both the Reports Web Service site and the Report Manager site are configured for https and using the certificate you added to the server.

Team Foundation Server:

In TFS Admin Console, you will be able to configure the server to point to the new URLs you have created and associated through IIS Manager in the modification of the bindings.

Performing an upgrade from TFS 2008 to TFS 2010

I recently had to go through the process of migrating a TFS 2008 SP1 to a TFS 2010 environment.

I will go into the details of the tasks that I went through, but first I want to explain why I define it as a migration and not an upgrade.

When this environment was setup, based on support and limitations for TFS 2008, we used a 32 bit platform for the TFS Application Tier and Build Servers.  The Data Tier, since we were installing SP1 for TFS 2008, was done as a 64 bit installation.  We knew at that point that TFS 2010 was in the picture so that served as further motivation to make that a 64bit install of SQL Server.  The SQL Server at that point was a single instance (Default) installation too.  We had a pretty good strategy in place for backups of the databases supporting the environment (and this made the migration so much smoother), so we were pretty familiar with the databases and the purpose they serve.

I am sure many of you that have gone through a TFS 2008 installation have encountered challenges and trials.  And likely even more so if you, like me, needed to configure your deployment for SSL.  So, frankly I was a little concerned about the process of migrating.  They say practice makes perfect, and this environment I worked on is in some way my brain child, so I was not ready nor willing for this to be a failure or something that would impact my client’s work.

Prior to going through the migration process, we did the install of the environment.  The Data Tier was the same, with a new Named instance in place to host the 2010 install.  The Application Tier was in place too, and we did the DefaultCollection configuration to test and validate all components were in place as they should.

Anyway, on to the tasks for the migration (thanks to Martin Hinshelwood for his very thorough documentation):

  1. Close access to TFS 2008, you want to make sure all code is checked in and ready to go.  We stated a difference of 8 hours between code lock and the start of migration to give time for any unexpected delay.  How do we close access?  Stop IIS.
  2. Backup your databases.  Which ones?
    TfsActivityLogging
    TfsBuild
    TfsIntegration
    TfsVersionControl
    TfsWorkItemTracking
    TfsWorkItemTrackingAttachments
  3. Restore the databases to the new Named Instance (make sure you keep the same names)
  4. Now comes the fun part! The actual import/migration of the databases.  A couple of things happen here. The TfsIntegration database will be scanned, the other databases will be checked to validate they exist.  Those databases will go through a process of data being extracted and transferred to the TfsVersionControl database to then be renamed to Tfs_<Collection>. You will be using a tool called tfsconfig and the option import. This tool is located in the TFS 2010 installation path (C:\Program Files\Microsoft Team Foundation Server 2010\Tools),  the command to use is as follows: 
      tfsconfig import /sqlinstance:<instance> /collectionName:<name> /confirmed

    Where <instance> is going to be the SQL Server instance where you restored the databases to.  <name> is the name you will give the collection. And to explain /confirmed, well this means you have done a backup of the databases, why?  well remember you are going to merge the databases you restored when you execute the tfsconfig import command.
     
  5. The process will go through about 200 tasks, once it completes go to Team Foundation Server Administration Console and validate your imported databases and contents.

We’ll keep this manageable, so the next post is about how to complete that implementation with the SSL configuration.

Connecting Visual Studio 2008 SP1 to TFS 2010

Introduction

You have installed Team Foundation Server 2010, you are ready to go.  Your client is Visual Studio 2008 SP1, and need to connect to TFS 2010.

Here is the story, the steps to configure Team Explorer are almost the same … meaning, you will open Visual Studio, then go to Team Explorer.  At that point you will Add an Existing Project, this where we connect to TFS.  Except, we get this:

SNAGHTML1aa89d

Now what?!?  We need to install the Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010.  Where to get it from?

Update Installation

We arrive at the Welcome Screen for the Update, click Next

SNAGHTML1fa42b

Next comes the license screen, accept the license, by selecting the checkbox, then click next.

SNAGHTML2179b2

The installation process will start at that point.

SNAGHTML243736

Once it completes, click on Finish.

SNAGHTML24c496

Second Try

Time to attempt to connect again.

We are back to working with Team Explorer, and Adding an existing project.  There is a formula to be successful with this.

protocol://servername:port/tfs/<name of collection>

protocol = http or https

servername = your tfs 2010 server

port = 8080 by default, or the custom port you are using

/tfs = I am assuming the default too

/<name of collection = the name of the collection that was provisioned.

Once the values are provided, click OK, then close.

SNAGHTML2adeea

At this point you should see a listing of Projects available within the TFS 2010 collection. Select the project and click OK.  You will now see this listed in Team Explorer.

Creating a new project for Team Foundation Server Basic.

We have installed and configured TFS, we have connected to it using Visual Studio.  Now it is time to get a project created.

From Team Explorer, we will right click on the servername\Collection item in the tree to select New Team Project.

image

Once selected, this will open the New Team Project dialog.  Provide a name, then click Next.

image  The next step is to select a Project Template.  By default you will have 2 available (but there are many downloadable options).  It is important to understand what the templates bring and what options we will live with in the Lifecycle Management option we select. Once selected, click Next.

image

image

Now we are at the point to specify where our code will be collected, Source Code settings part of the wizard.  Since we are starting new, we will select an empty folder. Click Next.

image

Next we get a Summary view of the options selected. Click Finish.

image

Once the template is downloaded, applied and our choices processed, we have completed the project creation.

image  This should be our final product …

image

Connecting to a new installation of TFS 2010

When the installation and configuration for TFS 2010 is completed, the next step is to connect and use TFS.  There is a Web Access component, but in order for it to serve useful you need to create a project into the Team Project Collection.  This is where Visual Studio 2010 comes in.

Open Visual Studio 2010, then click on the Team Explorer Tab (red arrow pointing to it) or go to View > Team Explorer.

image

Once there, click the Connect to Team Project toolbar button

image

This will open up the Connect to Team Project dialog, click on Servers …

image

On the Add/Remove Team Foundation Server dialog, click Add …

image

On the Add Team Foundation Server, enter the name of your server and click ok.

image

If you are prompted for credentials, provide the credentials needed. Once accepted, the server will be listed on the Add/Remove Team Foundations Server dialog, click close.

You will be back at the Connect to Team Project dialog, assuming you have one Collection, click Connect. (In the event you have more than one project collection, select the appropriate collection and then click Connect)

Your Team Explorer tab will look something like the image below.

image

Configuring Team Foundation Server Basic on Home Server.

For the installation I selected only the Team Foundation Server role.

Then, I opened the Team Foundation Server Administration Console (which I think is a great addition and improvement over the way TFS was configured in the past) to proceed with the configuration of the pieces.

image

Once I selected the Configure Installed Features, the Configuration Center opened up.

image

Now, the choices … In my implementation here I just want to take advantage of Source Control primarily.  I want to be able to store my code and projects.  So, Basic it is!

image

So, the Basic Configuration Wizard opens up.  Now the options to configure are very limited, but we have to provide details for the SQL Server Instance. And now, to select Install SQL Server express.  If you want to take advantage of another system in your environment to host your database, well you could Use an existing SQL Server Instance.

image

Once it has the details it needs, you get a Summary view to confirm your choices.

image

Once, you click next or verify, it runs readiness checks on your system to make sure the installation will have a successful pass.  And we love GREEN!

image

Now, since got the green flag, our next stop is to let the wizard do its magic, click on Configure.  And once again, we love GREEN!

image

We click Next, and … We like a big Green Success sign …

image

We close the Configuration Center …

image

First results … Web Access …  Nothing to show … but we are there!

image

And all this running from a Microsoft Home Server installation.

Team Foundation Server 2008: Thoughts and installation planning

 

Over the last couple of weeks I have dedicated quite some time to knowing Team Foundation Server (from here on out referred to as TFS) and the interaction between it and Visual Studio Team System/Team Explorer.  The process has not been without pain, but with pain come great lessons.

So, over the next days I will be posting here what was the success story of installation in both HTTP and then the process to get HTTPS in place too. 

But, how about starting to lay down the foundation of what the process is.  Let’s explore what it requires.

Before you start with any portion of the installation, make sure you read (not just page through, read!) the installation guide.  Understand how your environment is laid out, meaning … are you in a workgroup or domain environment? 

Which OS are you planning to use?  This is extremely important … keep on reading I will clarify.  Are you planning on using SQL Server 2008?  Again, important to understand.

Also extremely important to think about (again, do not install until after you have read the installation guide and made some very important decisions) is are you doing single server or “dual” server deployment.  The thought of breaking the deployment into layers (Data Tier and Application Tier … will give diagrams of this as I get into the details), will give you flexibility and scalability.  But it will require for you to understand what is going on behind the scenes (I will address that in the next posts).

Another part to consider is how your team is composed, mainly what you are looking for is how they will connect to the TFS environment.  If they are coming from the Internet, how are you allowing access to the environment.  You get the idea.

Now … there are plenty of moving pieces, so it is not only understanding how TFS works and communicates with the Data Tier that will be important. You will have Windows SharePoint Services, IIS, SQL Server and  SQL Server Reporting Services.  There are other pieces, but let’s focus on some of the “nice to have” information.

OS and IIS

When reading the documentation (and even some blog posts out there), it is not as clear as to what version of the OS to use or architecture (x64 vs. x86).  Here is the deal, you will read how some people forced the Application Tier to be on x64. NOT RECOMMENDED!

Here is the skinny … Data Tier can be x64 (of course this means you have then chosen to have a “dual” server setup).  The Application Tier needs to be x86 (which means no Windows Server 2008 R2 here).  The Build Server (which ideally you will have a separate server) can be x64 and the Build components will work in WOW64.

Also, when making the choice of the OS you are choosing your IIS version too.  Meaning, Windows Server 2003 has IIS 6.0 and Windows Server 2008 has IIS 7.0.

Big deal, right?  Not quite, it makes a difference in several ways, one of them the process of getting certificates in place and how to enable SSL.  Not complicated, yet different.

SQL Server and SQL Server Reporting Services

Choices here are 2005 or 2008, there are differences but maybe the most obvious set will come here in the form of SQL Server Reporting Services.  How?  SSRS 2008 does not depend on IIS.

That means, get your understanding of how this works and the process to enable SSL and the configuration files SSRS depends on.  Become familiar with authentication, also understand differences (specially in Domain based deployments) between using system based service accounts (eg. Network Service) and dedicated domain based service accounts.

Windows SharePoint Services (WSS)

Nothing major here, however make sure you have an understanding of Alternate Access Mappings (AAM), and that you in fact feel comfortable around the way WSS works.  Key here is understanding how to deploy, knowing the differences between Basic/Standalone deployment (I have a couple of friends that will twitch at the thought of me mentioning it) and Advanced/Web Front End (WFE) deployment.  Here is a link to the installation guide.

That is it for now.

UPDATE:  I will be posting my recent implementations of TFS 2010.

Follow

Get every new post delivered to your Inbox.